2013-02-21 29 views
0

隨機順序這是我的HTML顯示相同的類與diffrerent圖像使用jQuery

<div id="abc"> 
    <div class="asd">image1</div> 
    <div class="asd">image2</div> 
    <div class="asd">image3</div> 
    <div class="asd">image4</div> 
    <div class="asd">image5</div> 
</div> 

我想在每次刷新隨機顯示圖像。這怎麼可能使用Jquery? Thankz

+0

所以,你想爲所有'div.asd'元素設置一個隨機順序? – BenM 2013-02-21 10:41:31

+0

是的,所有圖像必須顯示... – shfkktm 2013-02-21 10:42:42

+0

我得到了那部分,但它們應該以隨機順序出現,對嗎? – BenM 2013-02-21 10:45:57

回答

0

你可以使用這個簡單的插件:http://css-tricks.com/snippets/jquery/shuffle-dom-elements/

(function($){ 

    $.fn.shuffle = function() { 

     var allElems = this.get(), 
      getRandom = function(max) { 
       return Math.floor(Math.random() * max); 
      }, 
      shuffled = $.map(allElems, function(){ 
       var random = getRandom(allElems.length), 
        randEl = $(allElems[random]).clone(true)[0]; 
       allElems.splice(random, 1); 
       return randEl; 
      }); 

     this.each(function(i){ 
      $(this).replaceWith($(shuffled[i])); 
     }); 

     return $(shuffled); 

    }; 

})(jQuery); 

你的情況,你可以使用它是這樣的:

$('#abc > div').shuffle(); 
+0

Thankz meo ..那工作......... – shfkktm 2013-02-21 11:08:33

0

創建隨機數的字段並添加他們像ID來的div然後將圖像添加到資料覈實

var NumbOfDivs = x 
var number = Math.floor(Math.random() * NumbOfDivs); 
var fieldID = []; 

if(fieldID.contains(number)){ 
} 
else{fieldID.push(number)} 
+0

Thankz Miko,但我不能編輯這些div和類,他們從某處動態加載,這就是爲什麼我問這個問題... – shfkktm 2013-02-21 10:53:37

+0

我不知道你應該寫它你的問題... – Miko 2013-02-21 10:57:47

+0

對不起Miko ...我忘了.... – shfkktm 2013-02-21 11:07:37