- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用网页制作某种电影。为此,我必须对文本的字符做某些事情。 html 看起来像这样:
<div id="section_1" style="display: none;">
<p>Goede typografie stimuleert het lezen en heeft als gevolg dat men zo weinig mogelijk moeite hoeft te doen om een tekst te kunnen lezen. Het moet zo min mogelijk weerstand oproepen om een tekst te kunnen begrijpen.</p>
</div>
<div id="section_2" style="display: none;">
<p>Het vermogen om zeer snel te kunnen lezen en zodoende onze tijd effectief te kunnen gebruiken, hangt vooral af van de wijze waarop de boodschap typografisch is vormgegeven.</p>
</div>
为了使用这些字符,我跨越了每个字母。如下图所示:
var spans = new Array();
// span every character
for(var i = 0; i < data.sections.length; i++) {
//spanEachChar("#section_"+i);
$("#section_"+i).children().andSelf().contents().each(function(index){
if (this.nodeType == 3) {
var $this = $(this);
$this.replaceWith($this.text().replace(/\w/g, function(text,index2) {
return "<span id="+index2+">" + text + "</span>";
}));
}
});
}
// store each span in an array
$("#content span").each(function() {
spans.push($(this));
});
console.log("spans.length "+spans.length);
// get them like this
var span = spans[20];
我还有一个数组/对象(不知道它叫什么),我在其中存储每个部分的持续时间,以便在一段时间后显示新的部分。
var data = {
sections:[{
id: 0,
duration: 0,
firstSpanIndex: -1,
lastSpanIndex: -1
}, {
id: 1,
duration: 7,
firstSpanIndex: -1,
lastSpanIndex: -1
}, {
id: 2,
duration: 7,
firstSpanIndex: -1,
lastSpanIndex: -1
}]
}
上面显示了名为 spans
的数组,对于“section_2”中的每个 div,我想存储第一个SpanIndex 和最后一个lastSpanIndex。我认为这也许可以在我跨越每个 Angular 色的部分完成,但我不知道如何做。我希望你们能理解我的问题,这并不容易解释。
更新
感谢迄今为止的帮助。这对学习很有帮助,但不是我真正想要的。我制作了一张图片以更清楚地表达我想要的东西。
我希望图像足够清晰。它显示了每个字符的 4 个段落。所有这些跨度都在一个数组中。该数组中没有更多内容(因此没有第一个或最后一个)。然后 data.sections 保存每个段落的信息,例如 id(等于索引 atm)和它应该显示的秒数(未在图像中显示)以及跨度数组的开始和结束索引。
最佳答案
jQuery 的 .first()和 .last()函数可以做你想做的事情吗?例如,你可以说;
// Grabs the first span only, then it's index value
firstSpanIndex: $this.children("span").first().index();
UPDATED BELOW *UPDATED AGAIN, Fiddle moved as well*
仍然不确定你到底想做什么,但我做了一个快速的 fiddle ,我认为它展示了你想要做什么。 -> my jsFiddle MOVED!!! HERE!!!
我稍微重写了你的代码,并更改了每个部分以包含一个名为“section”的类。我这样做是因为看起来你的部分可以被 html 识别,但不一定能被它们所在的对象识别。我将在下面解释重写:
// This first line simply calls each section by its class tag and begins the means of operation
$(".section").each(function(i) { // using var i in the function i can keep up with 0 based index of each section i am going thru
if (!data.sections[i]) { // this simply checks to see if this section exist in array yet, if not, we create it with base params
data.sections[i] = [{
id: i,
duration: 0,
firstSpanIndex: -1,
lastSpanIndex: -1
}]
};
// add your type oof id to each section if you still want it
var $this = $(this).attr({ id: "section_"+i });
// this .each is like a "catchall" to ensure you go thru wach p child of your section and span each char
$this.children("p").each(function(ii) {
// save the initial text to a variable for spaning
var tt = $(this).text();
// begin your spanning technique, not bad btw
$(this).html(tt.replace(/\w/g, function(txt, id2) {
return "<span id="+id2+">"+txt+"</span>";
}));
// update the section information in your data array
data.sections[i].firstSpanIndex = $(this).children("span").first();
data.sections[i].lastSpanIndex = $(this).children("span").last();
// made a fatal flaw using .extend as each section of spans get the same id presence,
// changed this to .merge which will extend the array regardless of index values
$.merge(true, spans, $(this).children("span"));
});
});
请务必查看 Fiddle了解更多信息和工作 View
关于javascript - 将跨度数组的第一个索引和最后一个索引分配给对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8885889/
这就是我现在正在做的事情。我在设计中使用 LESS CSS。我需要在指定输入之间放置 2 个跨度。所有元素的宽度都应为 100%。跨度应始终为 20px 宽度输入宽度可以根据屏幕宽度进行更改。谁能帮帮
我有一个包含文本和输入字段的跨度。我想知道是否可以让文本左对齐,输入字段右对齐。 NAME: .textBox{ display:inline-block; width:450px
我有这个按钮,我想让它在我点击“选择”时调用方法,在我点击“更改”时调用另一个方法: Select Change 我尝试输入 (click)="method()",但没有成功。我很
我正在开发聊天应用程序 (cordova),当我要在无法输入的表情符号后输入文本时,我在这段代码中遇到了问题 https://output.jsbin.com/radaref This i
很抱歉,如果这是一个非常愚蠢的问题,但我是一名开发人员,目前我的设计技能很少,我在个人网站上工作并且遇到了一个小问题。 我有一个带 ul 的顶部导航和 li元素。这些元素包含链接 . 跨度仅在链接悬
fiddle :https://jsfiddle.net/burz4g8s/4/ 我的 HTML 包含多行双按钮对。服务器端应用程序在 JSP 循环中输出按钮,所以我无法控制各个按钮——我不能使用 d
TextView.setLetterSpacing允许设置字母间距/字符间距。 有没有对应的CharacterStyle / span class允许在 TextView? 中的文本子集上设置字母间距
如何使洋红色矩形比红色矩形短 6 倍? GridLayout { id: gridLayout anchors.fill: parent flo
我最近开始使用 Twitter Bootstrap,但我似乎无法理解 span 的作用以及为什么会有不同的编号 span,例如 span4、span12?什么是偏移量以及它们何时使用? (有时与跨度一
我正在尝试构建一个 jQuery 函数来计算跨度中的总数 var sumnormaltotal = 0; $('span[id^="normaloffertotalspan"]').each(func
我想知道haskell如何评估以下表达式。 span (`elem` ['A'..'Z']) "BOBsidneyMORGANeddy" 结果是 ("BOB","sidneyMORGANeddy")
我有三个词,我想在第一个空格之后的内容周围添加一个跨度,所以 hello world 变成: hello world 和: hello world again 变成: hello world agai
我正在寻找纯 CSS 解决以下问题的方法。 考虑以下 HTML: Some text Some text 两者都是 正在显示元素 inline-block .如何在第二个 的左侧
如何将 Span 放置在其容器的底部? 我目前拥有的:http://jsfiddle.net/wRbax/2/ 我希望 .box 始终位于 .td 的底部 CSS .td { vertical
我试图在 li 中 float 两个 span。左跨度将有我的标签,在右跨度内我将构建一个具有嵌套跨度的图形。我有基本结构,但 chrome 将数字放在左侧跨度的末尾。我该如何解决这个问题? HTML
我有一个像这样的 JavaScript 变量: var text = "A businessman should be able to manage his business matters"; 我想
一些内容可编辑的框与其他框重叠,因此并非所有框都是可编辑的。我想保留与跨度位置中心对齐的文本,如下所示。我如何实现这一点? span { margin: auto; text-alig
我正在使用 WYSIWYG (InnovaEditor) 来编辑我网站上的内容,它适用于 Chrome、IE,主要适用于 Firefox,但 FF 有一个稍微令人讨厌的问题。我将 span 标签插入到
这是我的 html: Settings Export Import 和CSS: span.button { float:right; margin-righ
这里是问题所在:http://jsfiddle.net/STG22/3/ 我希望 span 不会分成两个不同的行(就像上面示例中的第三行一样)。我该怎么做? CSS: span { backg
我是一名优秀的程序员,十分优秀!