我在id = address
的div中有4个段落标记我想从字符串数组中为此段落添加一个字符。
我希望在有限延迟后添加每个字符。
这是代码段:
$("#address p").each(function(index)
{
var t_delay = 0;
for (var i=0; i<arr[index].length; i++){
t_delay += 1000;
$(this).delay(t_delay).append(arr[index][i]);
}
});
我没有得到延迟,整段显示在一起。
请帮帮我
答案 0 :(得分:0)
在这种情况下使用stop()
......
$("#address p").each(function(index) {
//use stop with id of paragraph
或者您也可以使用setTimeOut()..
您也可以使用delay()
......这里是参考delay in jquery
答案 1 :(得分:0)
延迟仅用于向动画队列添加暂停。 http://api.jquery.com/delay/
为了延迟代码执行,你必须使用setTimeout。
$("#address p").each(function(index)
{
var t_delay = 0;
for (var i=0; i<arr[index].length; i++){
t_delay += 1000;
setTimeout(function() {
$(this).append(arr[index][i]);
}, t_delay);
}
});
答案 2 :(得分:0)
试试这个:
$("#address p").each(function(index)
{
$(this).delay(1000 * index).append(arr[index][i]);
});