Jquery ui 使jQueryUI选项卡可添加书签
我觉得有点奇怪,jQueryUI选项卡没有一个内置的方便方法使选项卡成为书签(更改URL哈希)。下面的代码片段对我来说很有用Jquery ui 使jQueryUI选项卡可添加书签,jquery-ui,Jquery Ui,我觉得有点奇怪,jQueryUI选项卡没有一个内置的方便方法使选项卡成为书签(更改URL哈希)。下面的代码片段对我来说很有用 $("#tabs").tabs({ "activate": function(event, ui) { window.location.hash = ui.newTab.context.hash; } }); 问题是,当散列附加到URL时,页面会跳转到页面上相应的锚点。我怎样才能防止这种情况发生?我只想更改URL地址,显示当前选定的选项卡
$("#tabs").tabs({
"activate": function(event, ui) {
window.location.hash = ui.newTab.context.hash;
}
});
问题是,当散列附加到URL时,页面会跳转到页面上相应的锚点。我怎样才能防止这种情况发生?我只想更改URL地址,显示当前选定的选项卡,但不垂直移动页面
更新:我要说的是,我并不执着于上面的代码。我只想用所选选项卡的id更改URL地址栏,以便用户可以将选项卡添加书签或链接。用HTML5历史记录替换
window.location.hash
(刷新页面)(在不刷新页面的情况下操作URL地址栏和浏览器历史记录堆栈)他为我做了这件事。下面的代码对我有用
$("#tabs").tabs({
"activate": function(event, ui) {
var url = window.location;
window.history.pushState({
"html": "",
"pageTitle": title,
}, "", url.href.replace(url.hash, "") + ui.newTab.context.hash);
}
});
您可以将当前垂直滚动距离存储到页面顶部,然后重新应用,如下所示:
$("#tabs").tabs({
"activate": function(event, ui) {'use strict';
var scrollTop;
scrollTop = $(document).scrollTop();
window.location.hash = ui.newTab.context.hash;
$(document).scrollTop(scrollTop);
}
});