我正在制作某种带有网页的电影。为此,我必须用文字的字符做某些事情。该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例如,我想存储firstSpanIndex和最后lastSpanIndex是。我想这也许可以在我跨越每个角色的部分完成,但我不知道如何。 我希望你们能理解我的问题,这不是很容易解释。
更新
感谢您的帮助迄今。这对学习的目的是有帮助的,但不是我想要的。我做了一个形象,以更清楚我想要什么。
我希望图像足够清晰。它显示了每个字符的跨度分为4个段落。所有这些跨度都在一个数组中。没有更多的数组(所以不是第一个或最后一个)。然后,data.sections会为每个段落保存信息,如id(等于索引atm)以及它应显示多少秒(图像中不显示)以及span数组的开始和结束索引。
也许这是一个很好的方向,但我只是想用它来尝试总是由我记录的-1。 – clankill3r 2012-01-17 09:05:58
我试过这样(即使它能工作,它仍然是不正确的,但它至少会更近一步): //获得每个部分的第一个和最后一个跨度 \t for(var i = 0; i clankill3r 2012-01-17 09:07:21
我也不能肯定,如果我得到了孩子们: \t为(VAR I = 0; I
clankill3r
2012-01-17 09:12:55