我有一组按钮,这些按钮使用jquery手风琴显示内容(用于移动站点)。我想知道最好的方式是什么,这样当用户选择另一个按钮时,它会滚动到所选按钮的顶部。
以下是我目前手风琴剧本的内容:
$( "#accordion" ).accordion({
collapsible: true,
active: false,
autoHeight: false,
clearStyle: true
});
});
我还制作了这把小提琴,但它的功能并不像在移动设备上查看它那样(除非您调整窗口/视图区域的大小)。然后它的功能就像在移动设备上一样。)
发布于 2012-07-17 07:46:14
我找到了这个相关的问题。
根据注释,您可以使用element.scrollIntoView()
作为活动元素,因为“在所有主要浏览器中都支持这一点”。
这里还提到了一个jquery插件 (在第三个答案中),它做同样的事情。
如果绑定到手风琴的change
事件,以下内容应该可以工作:
$('#myaccordion').accordion({
// .. other options
change: function(event, ui) {
ui.newHeader.scrollIntoView(); // or scrollintoview(),
// if you're using the plugin
}
});
我没有尝试过这两种解决方案,如果其中一种有效,你可以发表评论吗?
编辑
在重新阅读您的问题后,您似乎不需要scrollIntoView
函数/插件,因为您按下的按钮通常已经在视图中(您如何按它.)。
因此,您可以只使用window.scroll
(或任何可滚动的顶级容器)。
根据你的小提琴手例子,以下几点似乎是可行的:
$( "#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);
}
}
});
https://stackoverflow.com/questions/11525920
复制