0

ランダムに選択されたすべての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);

});
4

5 に答える 5

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/

于 2012-07-03T12:22:45.900 に答える
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/

于 2012-07-03T12:19:43.123 に答える
1

これを変える:

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

に:

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

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

于 2012-07-03T12:10:33.327 に答える
1

関数を呼び出すだけです: http://jsfiddle.net/MQFFf/8/

于 2012-07-03T12:11:13.203 に答える
0

$('pxl').each()2 番目のループを削除すると、問題が解決するようです: http://jsfiddle.net/MQFFf/4/

于 2012-07-03T12:09:28.023 に答える