淡入一系列div然后淡出前一个

时间:2013-05-17 16:02:13

标签: javascript jquery html

所以使用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>

这是对的还是我做错了?

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:2)

如果您需要循环并修复语法,请尝试此操作。

Demo

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