13
4

2 回答 2

37

您的 a 元素没有 hash 属性。尝试获取 href 属性并使用 javascript 的 substr 和 indexOf 函数在 # 处拆分字符串

var href = $(this).attr("href");
var hash = href.substr(href.indexOf("#"));

你也可以使用

$(this).prop("hash");
于 2012-05-31T19:55:51.167 回答
4
$('a.js-hash').click(function() {

    // Store hash
    var hash = this.hash;

    // Using jQuery's animate() method to add smooth page scroll
    $('html, body').animate({
        scrollTop: $(hash).offset().top
    }, 1000, function() {

        // Add hash (#) to URL when done scrolling (default click behavior)
        window.location.hash = hash;
    });

    // Prevent default anchor click behavior
    return false;
});
于 2016-07-12T10:32:44.687 回答