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

为什么当我移动到left:200px的时候移出效果无效了

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>运动动画效果</title>
<style>
*{margin:0px;padding: 0px;font-size: 14px;clear: both;}
#div1{
width: 200px;
height: 200px;
background-color: red;
opacity: 0.3;
filter:alpha(opacity:30);
left: -200px;
position: relative;
top: 0px;
}
#share{
width: 20px;
height: 50px;
background-color: blue;
/*font-size: 24px;*/
/*font-weight: bold;*/
font-family: '微软雅黑';
/*float: left;*/
position: absolute;
left: 200px;
text-align: center;
top: 75px;
}
</style>
<script>
window.onload = function(){
// getdiv();
var oDiv = document.getElementById('div1');
oDiv.onmouseover = function(){
startMove(0);
}
oDiv.onmouseout = function(){
startMove(-200);
}
}
function getdiv(){
var oDiv = document.getElementById('div1');
// var share = document.getElementById('share');
}
var timer = null;
function startMove(itarget){
var oDiv = document.getElementById('div1');
// getdiv();
clearInterval(timer);
timer = setInterval(function(){
var speed = 0;
if(oDiv.offsetLeft > itarget){
speed = -10;
}else if(oDiv.offsetLeft < itarget){
speed = 10;
}else{
speed = 0;
}
if(oDiv.offsetLeft == 0){
clearInterval(timer);
}else{
oDiv.style.left = oDiv.offsetLeft + speed +'px';
}
}, 30);
}
</script>
</head>
<body>
<div id="div1"><span id='share'>分享</span></div>
</body>
</html>
//以上是我的代码,当我的left=0px的时候,我的onmoueout效果就无效了,鼠标移出并不能回去了,请问怎么回事呢


正在回答

1 回答

function startMove(itarget){
            var oDiv = document.getElementById('div1');
// getdiv();
            clearInterval(timer);
            timer = setInterval(function(){
                var speed = 0;
                if(oDiv.offsetLeft > itarget){
                    speed = -10;
                }else if(oDiv.offsetLeft < itarget){
                    speed = 10;
                }else{
                    speed = 0;
                    clearInterval(timer);
                }
                oDiv.style.left = oDiv.offsetLeft + speed +'px';
            }, 30);
        }


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

carolcoral 提问者

请问什么地方修改了?
2015-12-02 回复 有任何疑惑可以回复我~
#2

carolcoral 提问者

为什么不加这个判断了呢 if(oDiv.offsetLeft == 0){ clearInterval(timer); }else{
2015-12-02 回复 有任何疑惑可以回复我~
#3

carolcoral 提问者

非常感谢!解决了,应该就是判断为0
2015-12-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么当我移动到left:200px的时候移出效果无效了

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