2010-09-28 35 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的位置能夠根據它相對於面具的當前位置以及它被要求移動的方向移動。

相關問題