首页 > 为什么div不能移动?

为什么div不能移动?

<style>

 div {  
      width:200px;
      height:200px; 
      border:1px solid green;
      margin-left:500px;
      margin-top:100px;
      }  
 hr{   border:1px solid red;   }

</style>

<div id="aa">这是div</div>



<script>
  var timer;
  var n=10;
  function  moveStep(){        
  $('#aa').left-=20px;
      n--;
     if(n==0){
     clearInterval(timer);
     }
  }
timer=setInterval(moveStep,  1000);
$('#aa').click(function{
     moveStep();      
  }
);

</script>


元素位置计算错误
使用相对于document的位置 offset方法
或相对于offsetParent的位置 position方法

var timer;
var n=10;
var orgOffsetLeft;
function  moveStep(){
    var currentLeft=$('#aa').offset().left;
    $('#aa').offset({
        left:currentLeft-20
    });
    n--;
    if(n==0){
        clearInterval(timer);
    }
}

//记录原始位置,点击后恢复到开始位置,重新开始移动
$('#aa').click(function(){
    if(!orgOffsetLeft){
        orgOffsetLeft=$('#aa').offset().left;
    }else{
        $('#aa').offset({
            left:orgOffsetLeft
        });
    }
    timer&&clearInterval(timer);
    timer=setInterval(moveStep,  100);
    //moveStep();

    }
);

添加position属性
同时


需要给div加一个属性position:absolute或者是relative


JQ有$().left();这个方法嘛。。?样式不是你这么玩的吧?要用函数的话用.offset吧。


使left属性生效,需要给元素加加入 position:absolute或者是position:relative


需要增加position:absolute的属性

【热门文章】
【热门文章】