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

通过animate改变left,同时在反馈那里实时alert left的值却一直未改变。

<body>

<button id="btnL">左移</button>

<button id="btnR">右移</button>

<div id="divTest" style="height:50px; width:50px; background:blue; position:absolute;"></div>

<script>

   var div = $("#divTest");

   var divLeft = div.offset().left;

   if(divLeft == 8)

   {

    $("#btnL").attr("disabled",true);

   }


   $("#btnR").click(function(){

    div.animate({left:"+=50px"}, 400, function(){alert(divLeft);});//这里

   });

   $("#btnL").click(function(){

    div.animate({left:"-=50px"},400);

   });

    </script>

在alert那里反馈出来的left值一直都是8。

正在回答

1 回答

  其实我对于offset()这个方法也不太了解,但是不知道是否可以提出这样的设想,通过JQ和JS改编页面样式是临时的改编,我们一刷新所有样式马上回到原点,而offset().left只能找到你那个固定的left值,也就是没有进过JQ运转前的left值。 所以才一直是8px;

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

吴东DON 提问者

那如果我要实现通过div的left来判断是否到达边界,也就是当div位于最左边或者最右边的时候,相应的按钮不能起作用。要如何实现呢?是不是一定要通过服务器。
2015-03-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

通过animate改变left,同时在反馈那里实时alert left的值却一直未改变。

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