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

我写的鼠标移出的代码为什么当移出的时候为什么div一直颤抖,而不移出呢。

<!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>

body,div,span{

margin:0;

    padding:0;

 }

 #div{

width:200px;

height:200px;

background:red;

position:relative;

left:-200px;

top:0;

 }

 #share{

width:20px;

height:50px;

background:blue;

position:absolute;

left:200px;

top:75px;

 } 

</style>

<script>

window.onload=function(){

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

oDiv.onmouseover=function(){

startMove();

}

oDiv.onmouseout=function(){

startMove1();

}

}

var timer=null;

function startMove(){

clearInterval(timer);

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

setInterval(function(){

if(oDiv.offsetLeft==0){

clearInterval(timer);

}else{

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

}

},30);

}

function startMove1(){

clearInterval(timer);

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

setInterval(function(){

if(oDiv.offsetLeft==-200){

clearInterval(timer);

}else{

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

}

},30);

}

  </script>


</head>


<body>

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

</body>

</html>


正在回答

2 回答

因为你的timer是空的呀~根本没有给它赋值,就像楼上Peakid说的 timer = setInterval(function(){}

要把setInterval(function(){}这个定时器赋给timer

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

对startMove和startMove这两个函数的定义中,缺少了获取oDid的步骤

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

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

马小萍 提问者

加了这个代码压根就不执行了
2016-08-14 回复 有任何疑惑可以回复我~
#2

Peakid 回复 马小萍 提问者

我仔细检查了下,startMove和startMove这两个函数中,设定定时器的地方有问题。 第42行和第53行,应该是timer = setInterval(function(){ 抱歉之前看错了。一定要加timer=
2016-08-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我写的鼠标移出的代码为什么当移出的时候为什么div一直颤抖,而不移出呢。

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