-1

私はこのようなコードを持っています(静的):

<a href="#">link 1</a>
<a href="#">link 2</a>
<a href="#">link 3</a>

<a>これらのタグを読み取り、JQueryを使用してそれらの順序をランダム化して、(たとえば)次のように表示できるかどうかを知りたいです。

<a href="#">link 1</a>
<a href="#">link 3</a>
<a href="#">link 2</a>
4

4 に答える 4

0

これにより、リンクがランダムな順序で返されます。

$("a").sort(function() {return 0.5 - Math.random()})

したがって、リンクをコンテナに入れると、並べ替えられた配列を再入力できると思います。

于 2012-07-25T18:04:14.153 に答える
0
var elems = $('a');
elems.sort(function() { return (Math.round(Math.random())-0.5); });  
for(var i=0; i < elems.length; i++) elems.parent().append(elems[i]);

フィドル

于 2012-07-25T18:05:04.437 に答える
0

そもそも、ORDER BY RAND()を使用してmysqlクエリで実行できます。または、JQUERYを使用して、次のプラグインを使用して、各タグにIDを割り当て、その親要素にランダムに追加できます。ランダム-jQueryプラグイン

于 2012-07-25T18:06:42.573 に答える
0

これらはすべて良いように聞こえますが、次のように簡単なプラグインを作成できます。

(function($) {
    $.fn.extend({
        randomize: function() {
            return $.randomize($(this).get());
        }
    });
    $.randomize = function(arr) {
        for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
        return $(arr);
    };
})(jQuery);

そしてそれをそのように使用します:

$("#someEleID").prepend($("a").randomize());

また:

$("#someEleID").prepend($.randomize($("a")));
于 2012-07-25T18:24:36.860 に答える