2013-04-01 70 views
1

我在這裏我的代碼隨機div與相同的類名稱。現在我需要的是每隔n秒(例如15秒)對它們進行隨機化處理,而無需刷新頁面。 http://jsfiddle.net/yxBhH/自動隨機div每隔n秒

JS代碼:

var parent = $("#shuffle"); 
var divs = parent.children(); 
while (divs.length) { 
    parent.append(divs.splice(Math.floor(Math.random() * divs.length), 1)[0]); 
} 

沒有人有任何想法怎麼辦呢?我仍然不習慣JavaScript,所以任何幫助將不勝感激。

回答

4

可以使用setInterval功能:

var $parent = $("#shuffle"); 
 
var $divs = $parent.children(); 
 

 
setInterval(function() { 
 
    var $clone = $divs.slice(); 
 
    while ($clone.length) { 
 
    $parent.append($clone.splice(Math.floor(Math.random() * $clone.length), 1)); 
 
    } 
 
}, 2000);
.hue { 
 
    background: #ddd; 
 
} 
 

 
.hue:nth-child(2n) { 
 
    background: yellow; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="shuffle"> 
 
    <div class="hue">one</div> 
 
    <div class="hue">two</div> 
 
    <div class="hue">three</div> 
 
    <div class="hue">four</div> 
 
</div>

+0

非常感謝你!我實際上熟悉setTimeout,但不是這種方法。再次感謝! –

+0

當然,很高興幫助! – dfsq

+0

如何使這個洗牌只顯示2個元素(例如)? http://stackoverflow.com/questions/42881128/shuffle-divs-but-show-limited-number-of-them/42881216 –