将随机div类插入id

时间:2013-10-16 14:14:57

标签: jquery

以前我使用Math.random()将随机图像加载到div中。我想再次使用它,但我不是jQuery专家,我不知道这是否可行。我有一些div ID绝对定位,有些类(.content)我想随机选择并加载到这些ID中。所以:

<div id="veh1" class="abs"></div>
<div id="veh2" class="abs"></div>

.abs { position: absolute }

<div class="content">ONE</div>
<div class="content">TWO</div>
<div class="content">THREE</div>
<div class="content">FOUR</div>

.content { display: none }

最终以

结束
<div id="veh1" class="abs"><div class="content" style="display: block">TWO</div></div>
<div id="veh2" class="abs"><div class="content" style="display: block">FOUR</div></div>

我知道我可以用相关的Math.random()和.show()脚本做这样的事情。

<div id="veh1" class="abs">
<div class="content" style="display:block">ONE</div>
<div class="content" style="display:none">TWO</div>
<div class="content" style="display:none">THREE</div>
<div class="content" style="display:none">FOUR</div>
</div>

我可以为每个ID执行此操作并在各种预定内容中加载,尽管它有点无法完全随机,我怀疑这是最好的方法。我一直在搜索,但没有找到如何做到的例子。

2 个答案:

答案 0 :(得分:0)

这应该让你开始:

var count = $('.content').length,
    rnd = Math.round(Math.random()*count);
    $randomDiv = $('.content').eq(rnd);

$randomDiv.css({ color: 'red' }); //do stuff with the randomly selected div

这会导致类似这样的事情:

$('div.abs').each(function(i, el){
     //do the random stuff in here
     $(el).append($randomDiv);
});

不要忘记检查是否已插入某个.content div(我只是假设你不想这样)。

http://jsfiddle.net/PnRYc/

答案 1 :(得分:0)

我认为这样更好

$('.abs').each(function () {
    var el = $('div.content').eq(Math.round(Math.random() * $('div.content').length))
    $(this).append(el)
    el.remove();
});