0

ページに表示されているアイテムが1つあり、残りのアイテムはオーバーフロー:非表示のdiv内に隠されています。次のボタンと前のボタンが、ページに表示されている1つのアイテムだけに関係している場合はそれを希望します。問題は、表示されているアイテムだけを選択する方法がないことです。myitem.is(':visible')で確認しようとしましたが、すべてのアイテムが表示されているため機能しません。overflow:hiddenからは表示されません。

クラスとserialScrollをいじってみましたが、onBefore/onAfterコールバックに頭を悩ませることは困難です。

jQuery、serialScroll、またはScrolltoを使用して表示アイテムを選択する方法はありますか?

4

2 に答える 2

1

これを確認する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/

于 2012-06-28T22:11:58.807 に答える
0

結局、私はそれらのscrollToコールバックを回避する方法を学ばなければなりませんでした。これが私がしたことです。

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

scrollToプラグインは、新しいノードをアクティブとしてマークするために使用できるelemオプションを提供します。

于 2012-08-11T00:03:40.100 に答える