随机播放jQuery选择

时间:2014-07-18 18:43:00

标签: javascript jquery

我试图改变jQuery选择的顺序,而不会改变DOM中的元素

我需要随机选择以随机顺序为每个元素添加一个类,这就是我的代码应该是这样的:

$(".item").shuffle().each(function (i, element) {
    $(element).delay(i * 100).queue(function (next) {
        $(this).addClass("shown");
        next();
    });
});

有人可以帮我找到我需要的shuffle()功能吗?

2 个答案:

答案 0 :(得分:6)

我从this answer借用了Array.shuffle方法,并将其变成了jQuery插件

$.fn.shuffle = function(){
    for(var j, x, i = this.length; i; j = Math.floor(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x);
    return this;
};

FIDDLE

答案 1 :(得分:0)

$.fn.shuffle = function () {
    'use strict';
    var self = this,
        i,
        rnd,
        len = self.length - 1;
    for (i = len; i > 0; i -= 1) {
        rnd = Math.floor(Math.random() * len) % i;
        [self[i], self[rnd]] = [self[rnd], self[i]];
    }
    return self;
}