0

テーブルのセルをシャッフルしたいと思いdivます。プラグインを使用してみまし.shuffle()たが、うまくいきませんでした。これが私のコードです:

<div class="sprites">
    <div class="row">
        <span id="draggable0" class="draggable"></span> 
        <span id="draggable1" class="draggable"></span> 
        <span id="draggable2" class="draggable"></span>
    </div>
    <div class="row">
        <span id="draggable3" class="draggable"></span> 
        <span id="draggable4" class="draggable"></span> 
        <span id="draggable5" class="draggable"></span>
    </div>
    <div class="row">
        <span id="draggable6" class="draggable"></span> 
        <span id="draggable7" class="draggable"></span> 
        <span id="draggable8" class="draggable"></span>
    </div>
</div>

そして、これが私がシャッフルしようとした方法です:

$(document).ready(function () {
    $('.sprites').shuffle();
});   

このすべてのものをシャッフルする方法を知っていますか?

4

2 に答える 2

5

フィドル

これは class の要素のみをシャッフルしますspritesdivの中で sをシャッフルしたいです.spritesよね?

$('.sprites div').shuffle();

編集:正しい構文は実際には次のようになります。

$.shuffle('.sprites div');
于 2013-03-15T17:16:17.887 に答える
0

shuffle()渡された要素をシャッフルします...ボックス内のアイテムをそれに渡す必要があります...

これを使用してください:ライブデモ

$('.draggable').shuffle();

また

$('.row').shuffle();

アップデート

これを使用して、ドラッグを再度有効にします。

$(document).ready(function() {
       $('.draggable').draggable(); 
});

function shuffle () {
    $('.draggable').draggable("destroy");
    $('.draggable').shuffle();
    $('.draggable').draggable();
}

シャッフルコード

(function(d){
    d.fn.shuffle=function(c){
        c=[];
        return this.each(function()
            {
                c.push(d(this).clone(true))
            }).each(function(a,b)
            {
                d(b).replaceWith(c[a=Math.floor(Math.random()*c.length)]);
                c.splice(a,1)
            })
    };
    d.shuffle=function(a){
        return d(a).shuffle()
    }
})(jQuery);
于 2013-03-15T17:22:11.453 に答える