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

仿照老师的代码做了js的运动效果,可为啥停不下来呢,求帮忙

<!doctype html>

<html>

 <head>

  <meta charset="UTF-8">

  <meta name="Generator" content="EditPlus®">

  <meta name="Author" content="">

  <meta name="Keywords" content="">

  <meta name="Description" content="">

  <title>Document</title>

  <style type="text/css">

#div1{width:200px;height:150px;left:-200px;position:relative;background-color:red;}

#share{width:50px;height:100px;position:absolute;background-color:blue;left:200px;}

  </style>

  <script>

window.onload=function(){

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

oDiv.onmouseover=function(){

startMove();

}

}

var timer=null;

function startMove(){

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

timer=setInterval(function(){

if(oDiv.offsetLeft==0)

{clearInterval(timer);}

else

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

},30)

}

  </script>

 </head>

 <body>

 <div id="div1">

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

 </div>

 </body>

</html>


正在回答

3 回答

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

div{width:200px;

    height:200px;

    background:red;

position:relative;

left:-200px;

top:0;

}

#div1 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();

                          }

var timer=null;                         }   

function startMove(){

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

if(oDiv.offsetLeft==500){cleaInterval(timer)}

else{

setInterval(function(){oDiv.style.left= oDiv.offsetLeft+1+"px";},300)


}

   


}

</script>


</head>


<body>

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


</body>

</html>


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

本人菜鸟一枚,只是发表个人见解,大神勿喷

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

http://img1.sycdn.imooc.com//565916d30001f9e104840333.jpg

这句代码有误,从你鼠标触发动画效果的那一刻起,oDiv.offsetLeft就不可能等于0,所以就会一直执行else里边的语句。你不妨把语句里的数值改为100、500、800……,看看具体效果,你就明白了

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

举报

0/150
提交
取消

仿照老师的代码做了js的运动效果,可为啥停不下来呢,求帮忙

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