Jquery animate + if css position
Posted
技术标签:
【中文标题】Jquery animate + if css position【英文标题】: 【发布时间】:2013-06-01 05:50:08 【问题描述】:我实际上是在尝试使用 jquery animate 函数检查我正在移动的 div 元素的顶部位置。
$('#nss .nss-pager-up').click(function()
$('.nss-stream-inner-wrap').animate(
top: '+=55'
, 300, function()
if($('.nss-stream-inner-wrap').css('top') == '55')
alert('hey');
);
);
有人知道为什么这不起作用?
【问题讨论】:
你检查过css属性top的值吗?它可能是“55px”。 【参考方案1】:返回值包含单位,像素:
if ( $('.nss-stream-inner-wrap').css('top') == '55px' )
http://jsfiddle.net/cY5vw/
【讨论】:
【参考方案2】:可能是“顶部”样式尚未设置。
我会选择以下方式
$('#nss .nss-pager-up').click(function()
$('.nss-stream-inner-wrap').animate(
top: $(this).position().top + 55
, 300, function()
if($('.nss-stream-inner-wrap').css('top') == '55')
alert('hey');
);
);
【讨论】:
【参考方案3】:使用位置()
http://jsfiddle.net/ySYWB/1/
$('#nss .nss-pager-up').click(function()
$('.nss-stream-inner-wrap').animate(
top: '+=50'
, 300, function()
if($('.nss-stream-inner-wrap').position().top > 55)
alert('hey');
);
);
【讨论】:
> 通常更安全,但你可以坚持 ==以上是关于Jquery animate + if css position的主要内容,如果未能解决你的问题,请参考以下文章
jQuery + Animate.css 动画只工作一次,动画不重置