【问题标题】:Scroll to top button with jquery accordian使用 jquery 手风琴滚动到顶部按钮
【发布时间】:2012-07-17 15:34:25
【问题描述】:

我有一组使用 jquery 手风琴(用于移动网站)显示内容的按钮。我想知道最好的方法是什么,这样当用户选择另一个按钮时,它会滚动到所选按钮的顶部。

这是我目前的手风琴脚本:

$( "#accordion" ).accordion({
        collapsible: true,
        active: false, 
        autoHeight: false,
        clearStyle: true
    });
});

我也制作了this fiddle,但它的功能并不像在移动设备上查看时那样(除非您调整窗口/视口区域的大小。然后它的功能就像在移动设备上一样。)

【问题讨论】:

    标签: jquery jquery-ui scroll accordion


    【解决方案1】:

    我找到了this related question

    根据评论,您可以使用element.scrollIntoView() 作为活动元素,因为这个'在所有主要浏览器中都受支持'

    还提到了jquery plugin(在第三个答案中),它做同样的事情。

    如果你绑定到手风琴的change 事件,以下应该可以工作:

    $('#myaccordion').accordion({
      // .. other options
      change: function(event, ui) {
                ui.newHeader.scrollIntoView(); // or scrollintoview(), 
                                               // if you're using the plugin
              }
    });
    

    这两种解决方案我都没有尝试过,如果其中一个可行,也许您可​​以发表评论?

    编辑

    重新阅读您的问题后,您似乎不需要scrollIntoView 功能/插件,因为您按下的按钮通常已经在视图中(您将如何按下它...)。

    因此,您可以只使用window.scroll(或您使用的任何可滚动顶级容器)。

    根据您的 jsfiddle 示例,以下似乎可行:

        $( "#accordion" ).accordion({
            collapsible: true,
            active: false, 
            autoHeight: false,
            clearStyle: true,
            change: function(event, ui) {
                if (ui.newHeader) {
                var scrollTop = ui.newHeader.position().top;
                window.scroll(0,scrollTop);
                }
            }
        });
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-26
    • 2016-06-29
    • 2017-01-02
    • 2016-10-11
    • 2018-12-23
    • 1970-01-01
    • 2014-03-24
    • 2015-05-05
    相关资源
    最近更新 更多