0

所以使用 jquery,我得到了一些 javascript 在一定时间内淡入一系列 div。现在我想淡出以前的div。我将淡出功能作为在淡入功能中的回调是正确的吗?
所以它看起来像这样。

<script type="text/javascript">
$(function() {
        $("div").each(function(i, e) {
                $(this).delay(i*400).fadeIn(
                $(this).delay(i*400).fadeOut);
        });
});
</script>

那是对的还是我做错了?

4

2 回答 2

3

你有一些语法问题,回调应该是这样的:

$("div").each(function(i, e) {
    $(this).delay(i*400).fadeIn(function() {
        $(this).delay(i*400).fadeOut();
    });
});

演示:http: //jsfiddle.net/tymeJV/FJMa4/

于 2013-05-17T16:06:21.057 回答
2

试试这个,如果你需要循环和固定语法。

演示

 var arrDivs = $("div").get(); //Get all the divs into an array
    function fade()
    {
        var div = arrDivs.shift(); //get the top div
        var $this = $(div); 
        arrDivs.push(div); //push it to the end for cycle to repeat
            $this.delay($this.index()*400).fadeIn(function(){ //get the index to calculate the delay time.
                $this.delay($this.index()*400).fadeOut(function(){
                window.setTimeout(fade,1000);
                });
            });
    }
fade();
于 2013-05-17T16:11:06.113 回答