所有这些div都不会消失

时间:2012-07-03 12:01:34

标签: jquery function fadeout

我正在尝试运行一个可以淡出所有随机选择的div的脚本。

似乎总会让一对夫妇坐在最后。

http://jsfiddle.net/MQFFf/1/

JS

    function hideCube() {
    $('#group').show('slow');
    $('.pxl').each(function(index, element) {
        var sleepTime = Math.floor(Math.random() * 5000);
        var t = setTimeout(function() {
            var d = Math.floor(Math.random() * 5000);
            $(element).fadeTo(d, 0);
        }, sleepTime);
    });
}

$(function() {

    $('.pxl').each(function(index, element) {
        var sleepTime = Math.floor(Math.random() * 5000);
        var t = setTimeout(function() {
            var d = Math.floor(Math.random() * 1000);
            $(element).fadeTo(d, 0.99);
        }, sleepTime);
    });

    var h = setTimeout(hideCube, 3000);

});

5 个答案:

答案 0 :(得分:4)

这简单得多。

// return random integer, 0 <= n < ceiling
var randint = function ( ceiling ) {
    return Math.floor( Math.random() * ceiling );
};

$( '.pxl' ).delay( 5000 ).each(function () {
    $( this ).delay( randint(5000) ).fadeTo( randint(5000), 0 );
});

现场演示: http://jsfiddle.net/MQFFf/31/

答案 1 :(得分:2)

在这里,所有DIV都消失了:

var randint = function ( ceiling ) {
    return Math.floor( Math.random() * ceiling );
};

setTimeout(function () {
    $( '.pxl' ).each(function ( i, elem ) {
        setTimeout(function () {
            $( elem ).fadeTo( randint(5000), 0 );
        }, randint(5000) );
    });
}, 4000 );

现场演示: http://jsfiddle.net/MQFFf/25/

答案 2 :(得分:1)

改变这个:

$(element).fadeTo(d, 0.99);

为:

$(element).fadeTo(d, 0);

http://jsfiddle.net/MQFFf/12/

答案 3 :(得分:1)

只需致电您的函数:http://jsfiddle.net/MQFFf/8/

答案 4 :(得分:0)

删除第二个$('pxl').each()循环似乎可以解决您的问题:http://jsfiddle.net/MQFFf/4/