我在页面上有一个可见项目,其余项目隐藏在具有溢出:隐藏的 div 中。如果我的下一个和上一个按钮仅与页面上的一个可见项目相关,我会喜欢它。问题是我无法只选择可见项目。我尝试检查 myitem.is(':visible') 但它不起作用,因为所有项目都是可见的 - 只是没有通过溢出显示:隐藏。
我试着搞乱类和serialScroll,但很难理解onBefore/onAfter回调。
知道如何使用 jQuery 、 serialScroll 或 Scrollto 选择可见项目吗?
我在页面上有一个可见项目,其余项目隐藏在具有溢出:隐藏的 div 中。如果我的下一个和上一个按钮仅与页面上的一个可见项目相关,我会喜欢它。问题是我无法只选择可见项目。我尝试检查 myitem.is(':visible') 但它不起作用,因为所有项目都是可见的 - 只是没有通过溢出显示:隐藏。
我试着搞乱类和serialScroll,但很难理解onBefore/onAfter回调。
知道如何使用 jQuery 、 serialScroll 或 Scrollto 选择可见项目吗?
检查这一点的一种方法是将元素的位置与 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/
最后,我必须了解这些 scrollTo 回调的方法。这就是我所做的;
$('#scroller').scrollTo(activeprev, 800, {axis:'xy',onAfter: function(elem){
$('.views-row').removeAttr('id','active-row');
elem.attr('id','active-row');
}}
);
scrollTo 插件提供了 elem 选项,可用于将新节点标记为活动。