0

単純なjQueryアニメーションのタイミングを調整して、HTML要素のセットで1つずつトリガーし、次の要素のセットに移動する前に遅延させようとしています。each()は「item」変数を即座に実行するため、jQueryの使用はまだそれほど進んでいません。次の「アイテム」変数に移動する前に遅延するようにこれを計時する方法はありますか?

$(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); 
            }
        });
    }
});

どんな助けでも大歓迎です。

4

2 に答える 2

1
setInterval(callYouFunction(), time interval in miliseconds)
于 2012-04-26T18:18:07.600 に答える
0

.each()インデックスと要素をそのコールバック関数に渡します。あなたはこれを使うことができるかもしれません。

たとえば、(ゼロベースの)インデックスに、通過する秒数を掛けて、前のインデックスのsetTimeout1秒後にそれぞれをアニメーション化します。

    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); 
        }
    });
于 2012-04-26T18:36:39.813 に答える