virusos
2017-04-11 19:35
鼠标移出后,红色部分会突然消失,然后又出现,并没有缩回屏幕外
var div1 = document.getElementById('div1'),
share = document.getElementById('share'),
timer = null;
window.onload = function(){
var div1 = document.getElementById('div1');
div1.onmouseover = function(){
startMove();
};
div1.onmouseout = function(){
div1.style.left = -200 + 'px'; //这里
};
}
function startMove(){
var div1 = document.getElementById('div1');
clearInterval(timer);
timer = setInterval(function(){
if(div1.offsetLeft != 0){
div1.style.left = div1.offsetLeft + 10 + 'px';
}
}, 30);
}
因为你的定时器一直在运行,,你应该在它完全出来之后,,清理掉在运行的这个定时器,,
if(div1.offsetLeft != 0){
div1.style.left = div1.offsetLeft + 10 + 'px';
} else {
clearInterval(timer);
}
JS动画效果
113925 学习 · 1443 问题
相似问题