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