为了账号安全,请及时绑定邮箱和手机立即绑定

老湿有个问题一直困扰我:

正常是这样:
window.onload=function () {
    var myName = document.getElementById("tddd");
    myName.onmouseover = function () {
        startMove();
    }
}
    var time = null;

    function startMove() {
        clearInterval(time);
        var myName = document.getElementById("tddd");
        setInterval(function () {
            if (myName.offsetLeft == 150) {
                clearInterval(time);
            } else {
                myName.style.left = myName.offsetLeft + 1 + "px";
            }
        }, 30)
    }
    

第二种第二个函数是在第一个函数里面也就是startMove执行函数在鼠标事件函数里面{},可以执行。    
window.onload=function () {
    var myName = document.getElementById("tddd");
    myName.onmouseover = function () {
        startMove();
    }

    var time = null;

    function startMove() {
        clearInterval(time);
        var myName = document.getElementById("tddd");
        setInterval(function () {
            if (myName.offsetLeft == 150) {
                clearInterval(time);
            } else {
                myName.style.left = myName.offsetLeft + 1 + "px";
            }
        }, 30)
    }
    }
增加一个移开事件onmouseout之后,按照第二种,移开鼠标物体继续向前运动。这个是怎么回事,老湿帮帮解释下。。。。。。。。。。。。

正在回答

1 回答


移开是这样:

window.onload=function () {
    var myName = document.getElementById("tddd");
    myName.onmouseover = function () {
        startMove();
    }
    myName.onmouseout = function () {
        startMove1();
    }

    var time = null;
    function startMove() {      
        clearInterval(time);
        var myName = document.getElementById("tddd");
        setInterval(function () {
            if (myName.offsetLeft == 150) {
                clearInterval(time);
            } else {
                myName.style.left = myName.offsetLeft +1 + "px";
            }
        }, 30)
    }
    function startMove1() {
        clearInterval(time);
        var myName = document.getElementById("tddd");
        setInterval(function () {
            if (myName.offsetLeft == -20) {
                clearInterval(time);
            } else {
                myName.style.left = myName.offsetLeft -1 + "px";
            }
        }, 30)
    }
}

结果是移开物体继续向前走,


正常是这样:

window.onload=function () {
    var myName = document.getElementById("tddd");
    myName.onmouseover = function () {
        startMove();
    }
    myName.onmouseout = function () {
        startMove1();
    }
    }

    var time = null;
    function startMove() {      
        clearInterval(time);
        var myName = document.getElementById("tddd");
        setInterval(function () {
            if (myName.offsetLeft == 150) {
                clearInterval(time);
            } else {
                myName.style.left = myName.offsetLeft +1 + "px";
            }
        }, 30)
    }
    function startMove1() {
        clearInterval(time);
        var myName = document.getElementById("tddd");
        setInterval(function () {
            if (myName.offsetLeft == -20) {
                clearInterval(time);
            } else {
                myName.style.left = myName.offsetLeft -1 + "px";
            }
        }, 30)
    }


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JS动画效果
  • 参与学习       113923    人
  • 解答问题       1443    个

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

进入课程

老湿有个问题一直困扰我:

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信