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

请大神看看为什么鼠标移出总是不停抖动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title>

<style type="text/css">

*{

margin:0;

padding:0;

}

#box{

position:relative;

left:-200px;

}

.one{

width:200px;

height:200px;

background-color:red;

float:left;

}

.two{

width:50px;

height:50px;

background-color:blue;

float:left;

margin-top:55px;

}

</style>

<script type="text/javascript">

window.onload=function(){

var odiv=document.getElementById("box");

odiv.onmouseover=function(){

starmove1(0)

}

odiv.onmouseout=function(){

   starmove1(-200)

}

}




function starmove1(iTarget){

var timer;

clearInterval(timer);

var odiv=document.getElementById("box");

timer=setInterval(function(){

var speed;

if(odiv.offsetLeft>iTarget){

speed=-10;

}else{

speed=10

}

if(odiv.offsetLeft==iTarget){

clearInterval(timer);

}else{

odiv.style.left=odiv.offsetLeft+speed+"px";}

},30);

}


</script>

</head>


<body>

<div id="box">

<div class="one"></div>

<div class="two">分享</div>

</div>

</body>

</html>


正在回答

5 回答

我也是这个问题不知道怎么回事,onmouseout就一直出现抖动问题,请问你知道怎么回事了么,求指教


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

也许是你没有给timer和speed初始值吧

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

我也是这个原因啊 不知道为什么会这样,照理来说直接在函数中定义应该没问题啊

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

猜测是html结构的原因

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

panmc2

把var timer=null;这句代码放在执行函数外面就不会出现抖动了。
2016-06-19 回复 有任何疑惑可以回复我~

总感觉你设置的那个speed有问题、而且定时器的调用成立重复性。。。。我也不确定是不是这样的

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

举报

0/150
提交
取消

请大神看看为什么鼠标移出总是不停抖动

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