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

定时器前面一旦加了var 为什么就会抖动

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>下拉菜单</title>

<style type="text/css">

*{margin:0;padding: 0;font-size: 13px;}

div{height:300px;width:200px;position: relative;left:-200px;top:0;background: red;}

span{width:20px;height:50px;background: blue;position: absolute;left:200px;top:75px;}

</style>


<script>

window.onload=function(){

var oDiv=document.getElementById('div1');

oDiv.onmouseover=function(){

startMove();

}

oDiv.onmouseout=function(){

startMove1();

}

}

var int=null;

function startMove(){

clearInterval(int);

var oDiv=document.getElementById('div1');

var int=setInterval(function(){if(oDiv.offsetLeft==0)

{

clearInterval;

}

else

{

oDiv.style.left=oDiv.offsetLeft+1+'px';

}},30);


}





function startMove1(){

clearInterval(int);

var oDiv=document.getElementById('div1');

var int=setInterval(function(){if(oDiv.offsetLeft==-200)

{

clearInterval;

}

else

{

oDiv.style.left=oDiv.offsetLeft-1+'px';

}},30);

}


</script>

</head>

<body>

<div id="div1"><span id="share">分享</span></div>

</body>

</html>


正在回答

2 回答

你在定时器前面重新定义了“int”变量,所以一开始你在程序中调用的清除定时器根本没发挥作用,函数的清除参数也根本不是你在下方调用的定时器的返回值,而且你在定时器里面的函数里的条件判断中的“clearInterval()”,根本不对,没有参数,导致整个程序出错(ps:定义变量的时候不要用语言自带的关键字“int”,这是硬性的语法规则!)

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

为什么把int 前的var去掉就好了

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

举报

0/150
提交
取消

定时器前面一旦加了var 为什么就会抖动

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