首页 文章

jQuery serialScroll / scrollTo next和prev按钮分配给可见元素?

提问于
浏览
0

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

我试过搞乱类和serialScroll,但很难让你的头围绕onBefore / onAfter回调 .

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

2 回答

  • 0

    检查这个的一种方法是比较元素的位置和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

    最后,我必须学习绕过那些scrollTo回调的方法 . 这就是我所做的;

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

    scrollTo插件提供elem选项,可用于将新节点标记为活动 .

相关问题