javascript - js计时器函数如何传参数?
本文介绍了javascript - js计时器函数如何传参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
代码:
var num=120;//初始化
var timer=setTimeout(run(top),100);//我想在这里传入obj=top
function run(obj){
num--;
if(num>=-120){
obj.style.right=-num+"%";
}else{
num=120;
obj.style.right=-num+"%";
}
setTimeout(run(obj),100);
}
timer;
//报错Uncaught RangeError: Maximum call stack size exceeded
因为这个计时器在该页面有多个元素调用,我不可能每个元素都要绑定一次吧?所以我就想写个公用的,然后传入obj,再各自调用,可是传入不了,求大神解答
解决方案
function run(obj){
return function(){
//你的代码,里面调用obj
}
}
这篇关于javascript - js计时器函数如何传参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文