从网址

时间:2015-12-09 11:36:18

标签: jquery web

我在移动(和桌面)浏览过程中使用锚标签时遇到了一个问题。单击链接时,锚点ID将写入URL,因此www.mysite.com将成为www.mysite.com/#anchor,这会在刷新页面时导致问题,因为它会跳回到锚点位置而不是页面顶部(或页面刷新的位置)。我发布了一个关于这个的问题,得到了一些响应,需要多个相同代码的实例,这看起来效率很低。因此,在如此摆弄之后我想出了这个。

1 个答案:

答案 0 :(得分:0)

$('.js-anchor').click(function (evt) {
            evt.preventDefault();
            var anchor = $(this).text();

            $('html, body').animate({
                scrollTop: $('#' + anchor).offset().top
            }, 1500);
        });

通过确保链接的内容与锚点的id相同,这将完美地起作用。只要该类包含" js-anchor"就可以在页面上拥有任意数量的锚点。

(html mock)

<a class="js-anchor">Top</a>

<span id="Top"></span>