2010-09-28 34 views
1

我正在使用Jquery .animate来上下滚动UL,以便您可以看到所有元素,我将如何使IF ELSE语句表示。如何在UL中为特定的LI创建动画效果?

IFULFIRST李产品在顶部,不要再滚动,并IF的最后一个项目是在屏幕的可见部分的底部不继续滚动越往下,否则滚动510像素。

现在我的代码如下所示:

$('#down').click(function() { 
$(".project_thumbs").stop().animate({"top": "-=510px"}); 
}); 
$('#up').click(function() { 
if (".project_thumbs" (top = 0)){ 
    $(".project_thumbs").stop().animate({top:0}); 
} 
else{ 
    $(".project_thumbs").stop().animate({"top": "+=510px"}); 
    } 

回答

1

雷米夏普写的jQuery插件与滚动交易和元素是否在检视或不可见,你可以在这里找到: http://remysharp.com/2009/01/26/element-in-view-event-plugin/

如果您还查看该页面的第一条评论,那么会有代码向jquery添加一个选择器,以检查某个元素在视口中是否可见(这可能比整个插件更有用) ,这样你可以检查你的UL中的底部LI(你可以用上一个选择器抓取的底部)是否在第四个e视口,那么你会知道你是否需要向下滚动。

希望这就是你要找的!

+0

非常感谢你,这是很多的帮助 – Goetzs 2010-09-29 13:01:49

0

U可以使用掩码来实现此目的。将div(位置:绝对)包含在div内(位置:relative,overflow:hidden,height:无论你需要什么)。然后,当你触发动作以确定是否/何时根据ul的高度移动时,做一些数学运算。 (无需担心李的自己,你可以使用UL的块采取定位的服务。)

我成立了这个范例:http://jsfiddle.net/4nqng/

基本上,这将检查如果UL的位置能够根据它相对于面具的当前位置以及它被要求移动的方向移动。

相关问题