将一个可变整数传递到jquery函数中
Pass a variable integer into jquery function?
请好心看看这个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/
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 如何从jquery函数返回变量
- 如何将具有文本类型值的var放入jQuery函数中
- Jquery函数在错误的时间提交
- 锚链接无法使用.slideUp jquery函数
- 重新分解jQuery函数
- 如何在视图模型contet更新更新上调用Jquery函数
- 如何向这个javascript/jquery函数添加参数
- 添加类来触发jquery函数
- 更改智能表中的页面将停止JQuery函数的工作
- 使用每500ms运行一次的jquery函数是个好主意吗
- jQuery函数不能只在一个页面上工作
- 如何将jquery函数链接到vanilla选择器
- 仅在小型设备上调用jQuery函数
- 如何将jquery函数仅应用于大屏幕
- 奇怪的jquery函数行为
- Backbone listenTo不将jquery函数作为处理程序进行激发
- 在jquery函数内部设置来自jquery函数的var;t运行
- 从Jquery函数中获取一个变量