我在我的網站上使用此代碼來隨機化div的順序。在我的一個子頁面中,我想用稍微修改的版本 - 將隨機顯示12個div,但只顯示前3個,剩下的將設置爲「display:none;」或使用js類似的效果。隨機div,只顯示其中的一部分
任何建議如何修改下面的代碼,以便只有3個第一個div會出現?
下面是代碼:http://jsfiddle.net/ca7WW/
HTML:
<div class="randomize">
<div class="random_div">1</div>
<div class="random_div">2</div>
<div class="random_div">3</div>
<div class="random_div">4</div>
<div class="random_div">5</div>
<div class="random_div">6</div>
<div class="random_div">7</div>
<div class="random_div">8</div>
<div class="random_div">9</div>
<div class="random_div">10</div>
<div class="random_div">11</div>
<div class="random_div">12</div>
</div>
的jQuery:
function shuffle(array) {
var currentIndex = array.length
, temporaryValue
, randomIndex
;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
(function ($) {
$.fn.randomize = function (childElem) {
return this.each(function() {
var $this = $(this);
var elems = shuffle($(childElem));
$this.remove(childElem);
for (var i = 0; i < elems.length; i++)
$this.append(elems[i]);
});
}
})(jQuery)
jQuery(function($){
$("div.randomize").randomize("div.random_div");
});
只是阿里納斯...我'd建議使用[detach](https://api.jquery.com/detach/)而不是刪除,以便div元素保留所有關聯的jquery數據。 –