尝试为jqueryeach()计时

尝试为jqueryeach()计时,jquery,each,Jquery,Each,我正在尝试计时一个简单的jQuery动画,以便它在一组HTML元素上逐个触发,并在继续下一组元素之前延迟。使用jQuery each()还没有让我走得很远,因为each()会立即遍历“item”变量。是否有方法对此进行计时,以便在继续下一个“item”变量之前进行延迟 $(document).ready(function() { var slideShow = $(".intro-inner"); if (slideShow) { var item = s

我正在尝试计时一个简单的jQuery动画,以便它在一组HTML元素上逐个触发,并在继续下一组元素之前延迟。使用jQuery each()还没有让我走得很远,因为each()会立即遍历“item”变量。是否有方法对此进行计时,以便在继续下一个“item”变量之前进行延迟

$(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
缺少时间。您需要设置一个全局变量,以存储每次为哪个元素设置动画的引用。