使用jquery手风琴滚动到顶部按钮
我有一组按钮,可以使用jquery手风琴(用于移动站点)显示内容。我想知道最好的方法是什么,当用户选择另一个按钮时,它会滚动到所选按钮的顶部 以下是我目前手风琴剧本的内容:使用jquery手风琴滚动到顶部按钮,jquery,jquery-ui,scroll,accordion,Jquery,Jquery Ui,Scroll,Accordion,我有一组按钮,可以使用jquery手风琴(用于移动站点)显示内容。我想知道最好的方法是什么,当用户选择另一个按钮时,它会滚动到所选按钮的顶部 以下是我目前手风琴剧本的内容: $( "#accordion" ).accordion({ collapsible: true, active: false, autoHeight: false, clearStyle: true }); }); 我也做了,但它的功能并不像在移动设
$( "#accordion" ).accordion({
collapsible: true,
active: false,
autoHeight: false,
clearStyle: true
});
});
我也做了,但它的功能并不像在移动设备上查看时那样(除非你调整窗口/视口区域的大小。然后它的功能就像在移动设备上一样。)我发现
根据评论,您可以对活动元素使用element.scrollIntoView()
,因为这“在所有主要浏览器中都受支持”
在第三个答案中还提到了a,它做了同样的事情
如果绑定到手风琴的change
事件,则以下操作应有效:
$('#myaccordion').accordion({
// .. other options
change: function(event, ui) {
ui.newHeader.scrollIntoView(); // or scrollintoview(),
// if you're using the plugin
}
});
我还没有尝试过这两种解决方案,如果其中一种有效,也许你可以发表评论
编辑
在重新阅读您的问题之后,您似乎不需要使用scrollIntoView
功能/插件,因为您按下的按钮通常已经在视图中(您将如何按下它…)
所以,您可以只使用window.scroll
(或者您使用的任何可滚动的顶级容器)
根据您的JSFIDLE示例,下面的方法似乎有效:
$( "#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);
}
}
});
我找到了
根据评论,您可以对活动元素使用element.scrollIntoView()
,因为这“在所有主要浏览器中都受支持”
在第三个答案中还提到了a,它做了同样的事情
如果绑定到手风琴的change
事件,则以下操作应有效:
$('#myaccordion').accordion({
// .. other options
change: function(event, ui) {
ui.newHeader.scrollIntoView(); // or scrollintoview(),
// if you're using the plugin
}
});
我还没有尝试过这两种解决方案,如果其中一种有效,也许你可以发表评论
编辑
在重新阅读您的问题之后,您似乎不需要使用scrollIntoView
功能/插件,因为您按下的按钮通常已经在视图中(您将如何按下它…)
所以,您可以只使用window.scroll
(或者您使用的任何可滚动的顶级容器)
根据您的JSFIDLE示例,下面的方法似乎有效:
$( "#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);
}
}
});
嗯,我试着加入scrollIntoView插件,但似乎不起作用。除非我把它设置错了。这里是我更新的提琴:嗯,我试着加入scrollIntoView插件,但似乎不起作用。除非我把它设置错了。这是我最新的小提琴: