首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阻止使用scrollTop锚点链接更新URL

问阻止使用scrollTop锚点链接更新URL
EN

Stack Overflow用户
提问于 2014-04-30 19:02:00
回答 1查看 263关注 0票数 0

我有以下JS,但我不希望URL使用散列更新,我如何防止这种情况?

我希望的scrollTop工作时,两个相同的页面锚链接和链接到一个不同的页面上的ID,这是目前工作正常。

代码语言:javascript
复制
var jump=function(e)
{
   if (e){
     e.preventDefault();
     var target = $(this).attr("href");
   } else {
     var target = location.hash;
   }

$('html,body').animate(
{
 scrollTop: $(target).offset().top
 }, 2000, function()
 {
   location.hash = target;
 });

}

$('html, body').hide();

$(document).ready(function()
{
  $('a[href^=#]').bind("click", jump);

if (location.hash){
    setTimeout(function(){
        $('html, body').scrollTop(0).show();
        jump();
    }, 0);
}else{
    $('html, body').show();
}
});

http://jsfiddle.net/3D4k9/

EN

回答 1

Stack Overflow用户

发布于 2014-04-30 19:14:14

将window.location.hash = '‘添加到您的跳转函数:

代码语言:javascript
复制
... //previous code

window.location.hash = ''

... 

这将从导航栏中的url中删除散列。

:另外,将'return false‘添加到跳转函数的末尾。这应该会阻止事件传播和更改地址栏中的哈希

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23386350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档