我找到了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);
}
}
});
嗯。那麼,我試圖添加scrollIntoView插件,似乎並沒有工作。除非我把它設置錯誤。這裏我更新的小提琴: http://jsfiddle.net/ultraloveninja/6skgc/6/ – ultraloveninja 2012-07-17 16:13:06
好吧,我試圖讓你的例子工作,相應地編輯了答案... – MartinStettner 2012-07-28 10:12:16