以前我使用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执行此操作并在各种预定内容中加载,尽管它有点无法完全随机,我怀疑这是最好的方法。我一直在搜索,但没有找到如何做到的例子。
答案 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(我只是假设你不想这样)。
答案 1 :(得分:0)
我认为这样更好
$('.abs').each(function () {
var el = $('div.content').eq(Math.round(Math.random() * $('div.content').length))
$(this).append(el)
el.remove();
});