javascript - 为什么div不能移动?
大家讲道理
大家讲道理 2017-04-10 16:53:24
[JavaScript讨论组]

<style>

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

</style>

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



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

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(6)
ringa_lee

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

天蓬老师

元素位置计算错误
使用相对于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();

    }
);
黄舟

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

迷茫

添加position属性
同时

迷茫

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

迷茫

需要增加position:absolute的属性

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号