在Firefox

时间:2015-05-21 21:47:46

标签: javascript jquery firefox scrolltop

我尝试模拟面板之间的平滑滚动,并在面板顶部到达视口顶部时为链接添加活动状态。在我测试Firefox之前,一切都很顺利。面板之间的滚动是锯齿状的,有时状态会被添加到错误的链接中。这是我的代码:

$(document).ready(function () {
  $(window).scroll(function () {
    var y = $(this).scrollTop();
    $('.link').each(function (event) {
      if (y >= $($(this).attr('href')).offset().top - 0) {
        $('.link').not(this).removeClass('active');
        $(this).addClass('active');
      }
    });
  });
});

// SMOOTH SCROLLING

$(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 - 0)
        }, 850);
        return false;
      }
    }
  });
});

此外,您还可以看到我在此处工作的页面:http://zebron.github.io/

0 个答案:

没有答案