防止Scroll.js删除Anchor Hashes

时间:2015-01-15 22:43:59

标签: javascript jquery smooth-scrolling

我正在使用Scroll.js在单页网站上提供平滑滚动。它从URL中删除了锚哈希,我试图在保持滚动行为的同时防止这种情况发生。

我不熟悉Javascript来成功编辑这段代码,并且考虑到我所追求的目标,或许使用Scroll.js并不是一个好方法吗?

感谢您的意见 - 谢谢。

$(document).ready(function() {
  $('a[href*=#]').each(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
    && location.hostname == this.hostname
    && this.hash.replace(/#/,'') ) {
 var $targetId = $(this.hash), $targetAnchor = $('[name=' + this.hash.slice(1) +']');
 var $target = $targetId.length ? $targetId : $targetAnchor.length ? $targetAnchor : false;
       if ($target) {
 var targetOffset = $target.offset().top;
 $(this).click(function() {
            $("#nav li a").removeClass("active");
            $(this).addClass('active');
           $('html, body').animate({scrollTop: targetOffset}, 1000);
           return false;
         });
      }
    }
  });
});

0 个答案:

没有答案