1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 10:22:23 +00:00

fix: 修复链接中有双层锚点时上下一章按钮死链

This commit is contained in:
xuexb 2016-04-03 00:43:46 +08:00
parent 8ad3c20f5f
commit 797ee7c38a

View File

@ -18,6 +18,30 @@ var ditto = {
run: initialize
};
/**
* 获取当前hash
*
* @param {string} hash 要解析的hash默认取当前页面的hash nav#类目 => {nav:nav, anchor:类目}
* @description 分导航和页面锚点
* @return {Object} {nav:导航, anchor:页面锚点}
*/
var getHash = function (hash) {
hash = hash || window.location.hash.substr(1);
if (!hash) {
return {
nav: '',
anchor: ''
}
}
hash = hash.split('#');
return {
nav: hash[0],
anchor: decodeURIComponent(hash[1] || '')
}
};
var disqusCode = '<h3>留言</h3><div id="disqus_thread"></div>';
var menu = new Array();
@ -56,16 +80,18 @@ function init_sidebar_section() {
menu.push(this.href.slice(this.href.indexOf('#')));
});
$('#pageup').on('click', function() {
var hash = getHash().nav;
for (var i = 0; i < menu.length; i++) {
if (location.hash === '') break;
if (menu[i] === location.hash) break;
if (hash === '') break;
if (menu[i] === '#' + hash) break;
}
location.hash = menu[i - 1]
});
$('#pagedown').on('click', function() {
var hash = getHash().nav;
for (var i = 0; i < menu.length; i++) {
if (location.hash === '') break;
if (menu[i] === location.hash) break;
if (hash === '') break;
if (menu[i] === '#' + hash) break;
}
location.hash = menu[i + 1];
});