是否可以使用# char代替?字符来滚动元素? 所以而不是:
<a class="scroll-to" href="#sec-1">Portfolio</a>
<section id="sec-1" class="section">
我必须使用:
<a class="scroll-to" href="?sec-1">Portfolio</a>
处理滚动的脚本:
$(".scroll-to").click(function () {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top - ($("#nav-sticky").outerHeight())
}, 1000);
return false;
}
}
});
答案 0 :(得分:0)
我找到了一个解决方案,使用数据属性而不是id。
https://jsfiddle.net/gnemeth/o96rL3qy/2/
[1]: https://jsfiddle.net/gnemeth/o96rL3qy/2/