尝试为jqueryeach()计时
我正在尝试计时一个简单的jQuery动画,以便它在一组HTML元素上逐个触发,并在继续下一组元素之前延迟。使用jQuery each()还没有让我走得很远,因为each()会立即遍历“item”变量。是否有方法对此进行计时,以便在继续下一个“item”变量之前进行延迟尝试为jqueryeach()计时,jquery,each,Jquery,Each,我正在尝试计时一个简单的jQuery动画,以便它在一组HTML元素上逐个触发,并在继续下一组元素之前延迟。使用jQuery each()还没有让我走得很远,因为each()会立即遍历“item”变量。是否有方法对此进行计时,以便在继续下一个“item”变量之前进行延迟 $(document).ready(function() { var slideShow = $(".intro-inner"); if (slideShow) { var item = s
$(document).ready(function() {
var slideShow = $(".intro-inner");
if (slideShow) {
var item = slideShow.find(".item");
var headLine = item.find("h1");
var para = item.find("p");
item.each(function () {
if (headLine && para) {
headLine.css({"opacity": "0", "left" : "-1.25em" });
para.css({"opacity": "0", "left" : "-12.500em" });
setTimeout(function() {
headLine.animate({"opacity": "1", "left" : "0"}, 4000);
para.animate({"opacity": "1", "left" : "0"}, 4000);
}, 1000);
}
});
}
});
任何帮助都将不胜感激。。each()
将传递给其回调函数。你可以用这个
setInterval(callYouFunction(), time interval in miliseconds)
例如,将(基于零的)索引乘以传递给setTimeout
的秒数,以在前一个索引后一秒设置动画:
item.each(function (i,el) {
if (headLine && para) {
headLine.css({"opacity": "0", "left" : "-1.25em" });
para.css({"opacity": "0", "left" : "-12.500em" });
setTimeout(function() {
headLine.animate({"opacity": "1", "left" : "0"}, 4000);
para.animate({"opacity": "1", "left" : "0"}, 4000);
}, i*1000);
}
});
您的
setTimeout
缺少时间。您需要设置一个全局变量,以存储每次为哪个元素设置动画的引用。