因为addEventListener的第二参数填入带参函数的时候就直接执行了函数

我们使用一个匿名函数作为’观察者‘的身份存在,当监听到事件,先告知作为‘观察者’的匿名函数然后由’观察者‘调用具体的函数

代码如下:

    btn.addEventListener('click',function () {
        move(div,200);
    });

   

    function move(ele,target) {
        clearInterval(ele.timer);
        ele.timer=setInterval(function () {
            var steep=(target-ele.offsetLeft)/10;
            steep=steep>0?Math.ceil(steep):Math.floor(steep);
            //缓动公式
            ele.style.left=ele.offsetLeft+steep+"px";
            if(Math.abs(target-ele.offsetLeft)<steep){

                ele.style.left=target+"px";
                clearInterval(div.timer);
            }
        },30);
    }


更多推荐

addEventListener调用传参函数的方法