这 jQuery 正确吗?

Is this jQuery correct?

我想在我的页面上有流畅的滚动效果。并且 iv 找到了这段代码

jQuery(function($) {
  $('a[href*=#]:not([href=#])').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
        }, 1000);
        return false;
      }
    }
  });
});

没问题,但不适用于我的 "go top" link。所以我用教程检查其他页面并这样做:

jQuery(function($) {
  $('a[href*=#]:not([href=#])').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
        }, 1000);
        return false;
      }
    }
  });
  $('a.go-top').click(function() {
    $('html, body').animate({scrollTop:0}, 'slow');
    return false;
  });
});

现在一切正常。但我不知道 jQuery,你能告诉我这个代码是否正确,或者如果可以的话,我应该在这里更改什么?谢谢!

它不适用于您的 go top link,因为您正在寻找具有要单击的 id 属性的 link:$('a[href*=#]:not([href=#])')。您的 go-top 是 class 而不是 id,如果您将其更改为 id,则不需要您添加的代码。