Q
隨機加載兒童元素
0
A
回答
2
Quicky了我的頭:
- 與
detach
- 存儲數組把它們刪除在
<ul>
的所有項目。 - Shuffle that array
- 再次在
<ul>
中插入元素。
也來看看這個問題:randomize div elements
1
這裏是我做到了(的jsfiddle這裏的例子:http://jsfiddle.net/LNvqr/2/)
如果你使用jQuery,並有HTML與此類似:
<div>
<ul id="rndList">
<li id="itemOne">one</li>
<li id="itemTwo">two</li>
<li id="itemThree">three</li>
<li id="itemFour">four</li>
<li id="itemFive">five</li>
</ul>
</div>
然後,您可以簡單地使用.detach刪除並存儲<li>
元素的數組。
接下來,使用數組的副本,使用Math.random()
生成0到1之間的(僞)隨機整數,該整數小於數組的大小。將其用作從原始(有序)列表複製到新(隨機排序)列表的隨機索引。
從在每次迭代原數組中取出隨機選擇的元素,然後選擇一個新的隨機一個,直到所有元件已經被重新插入:
function shuffleList() {
var origList = $("#rndList li").detach();
var newList = origList.clone();
for (var i = 0; i < newList.length; i++) {
//select a random index; the number range will decrease by 1 on each iteration
var randomIndex = randomInt(newList.length - i);
//place the randomly-chosen element into our copy and remove from the original:
newList[i] = origList.splice(randomIndex, 1);
//place the element back into into the HTML
$("#rndList").append(newList[i]);
}
}
function randomInt(maxNum) { //returns a random integer from 0 to maxNum-1
return Math.floor(Math.random() * maxNum);
}
0
可以用下面的代碼實現這一點:
$(function() {
var parent = $("#parent-container");
var divs = parent.children();
while (divs.length) {
parent.append(divs.splice(Math.floor(Math.random() * divs.length), 1)[0]);
}
});
相關問題
- 1. 加載jQuery兒童
- 2. 訪問jquery兒童元素
- 3. 清除兒童元素
- 4. 兒童JSON元素Angularjs
- 5. 查找isDirty()兒童元素
- 6. 動態加載兒童班?
- 7. 使用Hpricot獲取兒童元素
- 8. 不尊重兒童元素的高度
- 9. 不要選擇兒童類元素(Jsoup)
- 10. Bootstrap兒童元素高度100%
- 11. 獲取兒童元素的高度
- 12. 兒童元素重複FlipView內
- 13. 可訂購兒童元素排序組
- 14. JQuery命名動態元素和兒童
- 15. 使用XML兒童驗證XHTML元素
- 16. 從jQuery獲取兒童元素的.text()
- 17. 改變兒童元素的值
- 18. html click,除了元素AND兒童
- 19. 目標兒童元素,但不是被點擊的元素
- 20. 圍繞主要元素的兒童包裹元素。 JQLite
- 21. 如何選擇兒童元素,直到元素中找到
- 22. Angular 4兒童路由器不加載
- 23. 從JSON中加載jsTree兒童
- 24. 兒童主題的style.css未加載
- 25. 聚合物兒童DOM加載
- 26. 添加基於價值的父元素類兒童 - angular2
- 27. 解析兒童Simplexml兒童
- 28. 兒童內部角兒童
- 29. 向元素添加隨機邊距
- 30. Angular 4延遲加載路由 - 兒童不加載
你可以更具體嗎? –
[用jQuery隨機化一個div元素序列](http://stackoverflow.com/questions/1533910/randomize-a-sequence-of-div-elements-with-jquery) –