非常友好地看看这个jsfiddle: http://jsfiddle.net/ne6sg/2/
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
setInterval(function(){
var interval = 500;
var paras = $('font');
var rand = Math.floor(Math.random() * paras.length);
paras.eq(rand).addClass('red');
},500);
});
</script>
<style>
.red {
color: red;
}
</style>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
一切都很完美。运行时,我的脚本会将类.red自动赋予页面元素,使用setInterval函数以设定的速率给出类。此速率由脚本的第7行上的数字定义。当这个数字变大时,由于间隔较大,增加类的速度会变慢。
但是,我希望第7行的数字是一个整数变量,但我无法让它工作。
结论,为什么这不起作用: http://jsfiddle.net/ne6sg/3/ ?
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
setInterval(function(){
var interval = 500;
var paras = $('font');
var rand = Math.floor(Math.random() * paras.length);
paras.eq(rand).addClass('red');
},(interval));
});
</script>
<style>
.red {
color: red;
}
</style>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
<font color=#040404>Frabjous Day</font>
非常感谢你的时间。
答案 0 :(得分:2)
将interval
定义在setInterval
var interval = 500; // this line, declare it here
setInterval(function(){
var paras = $('font');
var rand = Math.floor(Math.random() * paras.length);
paras.eq(rand).addClass('red');
}, interval); // so it exists in this context
答案 1 :(得分:0)
您正在函数中定义interval
变量并尝试在外部使用它。
你的js部分看起来如下:
$(document).ready(function() {
var interval = 500;
setInterval(function(){
var paras = $('font');
var rand = Math.floor(Math.random() * paras.length);
paras.eq(rand).addClass('red');
},1);
});