0

以前我使用 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 执行此操作,并在各种预定内容中加载,尽管它有点违背它完全随机的观点,我怀疑这将是最好的方法。我四处搜索,但没有找到如何做到这一点的例子。

4

2 回答 2

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);
});

Don't forget to check if a certain .content div has been inserted already (I just assume you don't want that).

http://jsfiddle.net/PnRYc/

于 2013-10-16T14:20:33.927 回答
0

I think this is better

$('.abs').each(function () {
    var el = $('div.content').eq(Math.round(Math.random() * $('div.content').length))
    $(this).append(el)
    el.remove();
});
于 2013-10-16T14:31:25.653 回答