【发布时间】:2011-09-09 10:03:43
【问题描述】:
我正在尝试编写一个简单的 Javascript(jQuery) 函数,该函数随机显示可能的 11 个 Div 中的 6 个。代码排序工作,它确实随机显示大约一半的 Div,但它在4和8。
谁能告诉我哪里出错了?看起来应该很简单,但我完全迷路了!
我的代码:
<div class="offer">Offer 1</div>
<div class="offer">Offer 2</div>
... snip
<div class="offer">Offer 11</div>
<script src="query.min.js" type="text/javascript"></script>
<script>
var changed = 0;
while (changed < 6) {
$('.offer').each(function(index) {
if (changed < 6) {
var showOrNot = Math.floor(Math.random() * 2);
if (showOrNot == 1) {
$(this).addClass('offershow');
changed += 1;
$(this).text(changed); //debugging looking for the current value of changed
}
}
})
}
</script>
【问题讨论】:
-
当我测试它时效果很好 - jsfiddle.net/infernalbadger/LX5xC 它偶尔会小于 6,因为没有检查以确保它不会两次更改同一个 div。
-
你为什么要输出div,这不应该是服务器端/数据库的工作吗?
-
啊,那是我没有考虑到的。谢谢!认为卢克可能是正确的,但是更“精确”的解决方案可能会更好。
-
ps Val:我更喜欢在服务器端做这个——而且我的技能确实更适合这个——但是唉......政治。
标签: javascript jquery random while-loop