网络设置
tab-pane
有效。tabs
的元素。 目标
ID
和活动PANE
存储为URL作为哈希。 http://www.mywebsite.com/#pane#id
BACK
或FORWARD
按钮时,我可以下拉BACK
url解析位置激活PANE
和scrollTop
元素`ID'。 BACK
或FORWARD
按钮离开我们的域名时,我想在离开页面之前警告用户。 IE8
并转发。当前FireFox
,CHROME
和OPERA
。研究
https://github.com/blixt/js-hash
Keeping history of hash/anchor changes in JavaScript
How to get the anchor from the URL using jQuery?
问题
BROWSER HISTORY
- 这是有道理的。 ID
并激活PANE
然后将它们存储到Array
中。我只是拦截后退/前进按钮事件获取Array对象并从中设置DOM。 感谢您的帮助!
答案 0 :(得分:0)
// Change HASH on clicking NAV buttons.
$(function(){
var hash = window.location.hash;
//hash && $('ul.nav a[href="' + hash + '"]').tab('show');
$('.nav-tabs a').click(function (e) {
$(this).tab('show');
$('html,body').animate({scrollTop: $('#top').offset().top});
window.location.hash = this.hash;
_ignoreHashChange = true;
console.log(this.hash);
});
});
// Updating the dom with hashchange.
//_ignoreHashChange = true; //after clicking a butotn.
_ignoreHashChange = false;
$(window).on('hashchange', function (e) {
if(_ignoreHashChange === false ){
if ( window.location.hash.split('#')[1].length ) {
if ( window.location.hash.split('#')[1][0] !== "." ) {
$('.nav-tabs a[href="#'+ window.location.hash.split('#')[1] +'"]')[1].tab('show');
$('html,body').animate({scrollTop: $('#top').offset().top});
}
else {
$(window.location.hash.split('#')[1]).trigger("click");
}
_ignoreHashChange = false;
}
}
_ignoreHashChange = false;
});