滚动到没有#

时间:2015-10-21 10:14:50

标签: jquery scroll

是否可以使用 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;
        }
    }
});

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,使用数据属性而不是id。

https://jsfiddle.net/gnemeth/o96rL3qy/2/

[1]: https://jsfiddle.net/gnemeth/o96rL3qy/2/