javascript - js计时器函数如何传参数?

查看:97
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆