2013-02-21 14 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