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

position 改成 relative 便会一直运动?

为什么 id div1的position属性改成“relative”就会一直动下去不会停止,而改成“absolute”就可以停止呢?       

#div1       

{           

width:200px;           

height:200px;           

background:red;           

position:absolute;  //改成relative就会一直动?           

left:-200px;           

top:0       

}

正在回答

4 回答

同学,我也遇到这个问题,视频07:03秒的时候老师的#div1{ position:relative}竟然可以运行成功,而我的就只能改成absolute才能成功,问题到底出在哪里呢?

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

relative是相对自身偏移,当然会一直运动下去,详情再去看一下relative解析

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

<!DOCTYPE html>
<html>
<head lang="en">
   <meta charset="UTF-8">
   <title></title>
   <style>
       #div1
{
           width:200px;
           height:200px;
           background:red;
           position:absolute;
           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 = startMove;

   };
   var timer=null;
   function startMove()
   {
       var oDiv = document.getElementById("div1");
       clearInterval(timer);
       timer=setInterval(function()
       {
           if(oDiv.offsetLeft==0)
           {
               clearInterval(timer);
           }
           else
{
               oDiv.style.left = oDiv.offsetLeft + 10 + 'px';
           }

       },10)
   }
</script>
</head>
<body>
   <div id="div1"><span id="share">分享</span></div>
</body>
</html>

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

鲈先森

你要body的margin改为0.在样式哪里加一个*{;margin:0;},这样 if(oDiv.offsetLeft==0)这个才会判断有效的。
2016-03-09 回复 有任何疑惑可以回复我~
#2

没听说过 回复 鲈先森

嗦嘎,原来如此,我也是今天才发现是这里的问题,但是不清楚为什么,那实际上#div的position应该是relative才对吧。
2016-03-10 回复 有任何疑惑可以回复我~

源码呢?你肯定是写了JS 动效吧!

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

PdpdPdpd 提问者

没有啊,其他都没动,是不是因为relative只是相对自身运动而自身并没有运动的原因? 代码在下面。
2016-03-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

position 改成 relative 便会一直运动?

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