将一个可变整数传递到jquery函数中

Pass a variable integer into jquery function?

本文关键字:jquery 函数 整数 一个      更新时间:2023-09-26

请好心看看这个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>

非常感谢您抽出时间。

setInterval 范围之外定义interval

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

您在函数内部定义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);   
});

请参阅:http://jsfiddle.net/ne6sg/6/