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,再各自调用,可是传入不了,求大神解答


墨色风雨
浏览 713回答 1
1回答

杨__羊羊

function run(obj){    return function(){        //你的代码,里面调用obj     } }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript