2012-06-28 63 views
0

我在頁面上有一個可見項目,其餘項目隱藏在具有溢出的div中:hidden。如果我的next和prev按鈕僅適用於頁面上的一個可見項目,我希望它。問題是我沒有辦法只選擇可見的項目。我試着用myitem.is(':visible')檢查,但它不起作用,因爲所有項目都可見 - 只是沒有通過溢出顯示:隱藏。jQuery serialScroll/scrollTo分配給可見元素的next和prev按鈕?

我試着弄亂類和serialScroll,但很難讓你的頭繞onBefore/onAfter回調。

任何想法如何使用jQuery,serialScroll或Scrollto選擇可見項目?檢查此

回答

0

最後,我不得不學習我的路圍繞這些scrollTo回調。這就是我所做的;

$('#scroller').scrollTo(activeprev, 800, {axis:'xy',onAfter: function(elem){ 
$('.views-row').removeAttr('id','active-row'); 
elem.attr('id','active-row'); 
}} 
); 

scrollTo插件給出了elem選項,它可以用來標記新節點爲活動狀態。

+0

'removeAttr'只接受一個參數(第二個參數被忽略)。我建議將第二行改爲:'$('#active-row')。removeAttr('id');' – Brilliand

1

一種方法是比較與位置的元素的位置的div滾動到:

function isVisible(element) { 
    var offset = $(element).offset(); 
    return offset.left + $(element).width() > 0 
     && offset.left < $(element).parent().width() 
     && offset.top + $(element).height() > 0 
     && offset.top < $(element).parent().height(); 
} 

的jsfiddle:http://jsfiddle.net/XtAT7/

相關問題