0

我在页面上有一个可见项目,其余项目隐藏在具有溢出:隐藏的 div 中。如果我的下一个和上一个按钮仅与页面上的一个可见项目相关,我会喜欢它。问题是我无法只选择可见项目。我尝试检查 myitem.is(':visible') 但它不起作用,因为所有项目都是可见的 - 只是没有通过溢出显示:隐藏。

我试着搞乱类和serialScroll,但很难理解onBefore/onAfter回调。

知道如何使用 jQuery 、 serialScroll 或 Scrollto 选择可见项目吗?

4

2 回答 2

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 回答