2014-10-09 43 views
0

什么我已经是这样的:一个页面滚动链接不显示在URL安克尔

$(document).ready(function(){$('a[href^="#"]').on('click',function(e){e.preventDefault();var t=$(this.hash).offset().top;$('.wrapper').animate({scrollTop:t,},1000)})}); 

,实际上把div的任何地方,如参考:

<div id="about"></div> 

它实际上向下滚动到那些参考点,但我没有看到在网址中的名称。当我向下滚动并在关于部分结束时,我希望它以某种方式显示出来,就像这样www.site.com/#about

任何想法我做错了什么?使用的网站是一个HTML文档。

回答

0

试用一下这个

$(document).ready(function() { 
    $('a[href^="#"]').on('click', function (e) { 
     e.preventDefault(); 
     var target = this.hash; 
     var t = $(this.hash).offset().top; 
     $('.wrapper').animate({ 
     scrollTop: t, 
     }, 1000, function() { 
      window.location.hash = target; 
     }); 
    }); 
}); 
0

您可以使用HTML5历史API Good tutorial for using HTML5 History API (Pushstate?)

$(document).ready(function() { 
    $('a[href^="#"]').on('click',function(e) { 
    e.preventDefault(); 
    var t = $(this.hash).offset().top; 
    $('.wrapper').animate({ scrollTop:t }, 1000); 
    history.pushState(null, null, location.href + $(this).href); // <- not sure whether your links are relative or absolute.. do change appropriately.. 
    }) 
}); 
+0

您好,我不断收到未定义。我究竟做错了什么?我的链接是绝对的。 – Zack 2014-10-09 08:54:42

+0

你使用什么浏览器?你可以创建一个小提琴或者编辑你的问题来包含html,因为你的脚本使用''a [href^=“#”]''但你的问题给出了这个例子:'

' – 2014-10-09 09:00:09

相关问题