单击关闭后从URL中删除#about

时间:2014-05-31 17:07:39

标签: javascript html url

我有一个按钮,点击使用Javascript点击叠加到这样的网址:

http://www.sample.com/#about

但是我的关闭按钮只会移除叠加层而不是网址中的/#about部分。单击关闭按钮时删除/#about的最佳方法是什么?

HTML

    <button id="hide" class="close">&#10060</button>

JS

// Simple show and hide button
$("#hide").click(function(){
    $("#about").fadeOut();
});
$("#show").click(function(){
    $("#about").fadeIn();
});

2 个答案:

答案 0 :(得分:2)

您可以使用以下javscript:

$("#hide").click(function(){
    $("#about").fadeOut();
    window.location.hash="";
});

#about是页面的哈希值。脚本将只删除它。

修改

如果您可以使用HTML5功能,则可以执行以下操作(它也会删除“#”):

$("#hide").click(function(){
    $("#about").fadeOut();
    history.pushState("", document.title, window.location.pathname);
});

答案 1 :(得分:0)

由于您根本不想存在#about哈希,因此您可以在每个处理函数的末尾添加return false语句。

例如:

$("#hide").click(function(){
    $("#about").fadeOut();
    return false;
});
$("#show").click(function(){
    $("#about").fadeIn();
    return false;
});