Javascript 动画scrollTop不在IE和Firefox上工作

Javascript 动画scrollTop不在IE和Firefox上工作,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个带有href属性的按钮,当我点击它时,它会滚动到带有id=“buttonhref_value”的div…我需要在div之前留出一些额外的空间,以便人们可以在顶部查看我的固定菜单栏。因此,它的top-60…在chrome和safari中运行良好。在IE中,无论我提供多少额外空间,它总是滚动到div的顶部。我的意思是div现在在菜单栏下面。有人能帮忙吗 $.fn.smoothScrollOnClick = function () { return this.each(functi

我有一个带有href属性的按钮,当我点击它时,它会滚动到带有id=“buttonhref_value”的div…我需要在div之前留出一些额外的空间,以便人们可以在顶部查看我的固定菜单栏。因此,它的top-60…在chrome和safari中运行良好。在IE中,无论我提供多少额外空间,它总是滚动到div的顶部。我的意思是div现在在菜单栏下面。有人能帮忙吗

  $.fn.smoothScrollOnClick = function () {
    return this.each(function () {
      $(this).on('click', function (event) {

        if (this.hash !== '') {
        var hash = this.hash;
        if ($('' + hash + '').length > 0) {
          var stop = ($('' + hash + '').offset().top - 60 );
          $('html, body').animate({ scrollTop: stop
            }, 200, function () {
            window.location.hash = hash;
          });
          event.preventDefault();
        }
       }
     });
   });
  };

IE版本?:)您是否尝试使用console.log获取
stop
的值?并在IE控制台中检查它?或者提醒它或者把它写在页面上。只是为了检查它是否被计算是的,它已经被计算了..我可以看到值IE版本是IE 11和Firefox的最新版本,这可能是因为你在将哈希动画设置到正确的位置后更新了它?试着按照这个顺序执行事情,看看会发生什么:1。防止默认2。更新散列3。设置动画到正确的位置