$(function() {
max = 25;
min = 1;
var i = 0;
do {
var match = Math.ceil(Math.random() * (max - min )- min);
$('td').each(function() {
i++;
console.log( match );
if (i == match) {
$(this).addClass('active');
}
})
} while ($('td.active').length == 10);
})
我的问题是我不会返回10个随机盒子而只返回一个。
答案 0 :(得分:3)
更改
} while ( $('td.active').length == 10 );
到
} while ( $('td.active').length < 10 );
while
!= until
但如果你的td
少于10,那么你将无限期地循环。随着i
变得越来越大,它常常会中断。
我想你想要这个:
$(function() {
var max = 25; // don't forget the "var", if you don't want to declare global variables
var min = 1;
do {
var match = Math.ceil(Math.random() * (max - min )- min);
$('td').eq(match).addClass('active');
} while ($('td.active').length < 10);
})
答案 1 :(得分:0)
试试这个:如果你确定它们至少是10 td
$(function() {
max = 25;
min = 1;
var i = 0;
var y=0;
do {
var match = Math.ceil(Math.random() * (max - min )- min);
$('td').each(function() {
i++;
console.log( match );
if (i == match) {
$(this).addClass('active');
y++;
}
})
} while (y<10);
})
答案 2 :(得分:0)
您还没有详细说明代码尝试做什么,但除了其他建议之外,我认为您还意味着
var match= Math.ceil(Math.random() * (max - min )+ min);
注意&#39; + min&#39;而不是减去。