日期:2014-05-16  浏览次数:20485 次

疑惑:使用JQ移动元素后,判断不出变化后的值?
以下代码:不知道为什么不能正确的移动元素。
 if(parseInt(element.css("top").slice(0,-2)) > parseInt((4-2)*130)) 这个判断永远只对 posterList 下的第一个子元素有效。
其他元素均不起作用。使用firebug 能明显的看到 各个元素的 top的值都有改变
var obj = null;
obj = setInterval (function(){
$("#posterList").children().each(function(){
  element = $(this);
  element.animate({top:parseInt(element.css("top").slice(0,-2))+130},o.speed,function(){
  if(parseInt(element.css("top").slice(0,-2)) > parseInt((4-2)*130)){
  element.css({top:-130});//移动到顶端
  }
  });
});
},3000)

对应操作的元素
<div id="posterList" style=" width:270px; height:390px; overflow:hidden; position:relative; z-index:10; ">
<img src="biz/Img/slide/20120310184900422.jpg" title="ITSI" style="position:absolute; z-index:10; top:-130px; height:130px; width:270px;"/>
<img src="biz/Img/slide/20120310184900134.jpg" title="ARM" style="position:absolute; z-index:10; top:0px; height:130px; width:270px;"/>
<img src="biz/Img/slide/20120310184900956.jpg" title="Closed Loop" style="position:absolute; z-index:10; top:130px; height:130px; width:270px;"/>
<img src="biz/Img/slide/20120310184900223.jpg" title="PMO In a box" style="position:absolute; z-index:10; top:260px; height:130px; width:270px;"/>
</div>

------解决方案--------------------
楼主能力强大
------解决方案--------------------
element = $(this);
element.animate我想应该是这2个element的原因。。你比较一下吧。。