更改url以反映使用Javascript隐藏/显示的页面上的内容

更改url以反映使用Javascript隐藏/显示的页面上的内容,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我目前正在为一家建筑公司HLArchitects制作一个网站。在项目页面中,我创建了一个HTML/Javascript图像库。在右侧主大图的稍上方,可以找到一个选项在图像/信息之间进行选择。我使用Jquery来显示和隐藏信息或图像,但是我觉得这不是一个很好的方法。可在此处查看以供参考: 以下是相关的Javascript: $(".selector a").click(function(){ if ($(this).attr("data-show") == "images") {

我目前正在为一家建筑公司HLArchitects制作一个网站。在项目页面中,我创建了一个HTML/Javascript图像库。在右侧主大图的稍上方,可以找到一个选项在图像/信息之间进行选择。我使用Jquery来显示和隐藏信息或图像,但是我觉得这不是一个很好的方法。可在此处查看以供参考: 以下是相关的Javascript:

$(".selector a").click(function(){
    if ($(this).attr("data-show") == "images") {
        $("#info").fadeOut("fast");
        $("#displayImg").fadeIn("fast");
        $("#imageFlow").fadeIn("fast");
    } else if ($(this).attr("data-show") == "info") {
        $("#displayImg").fadeOut("fast");
        $("#imageFlow").fadeOut("fast");
        $("#info").fadeIn("fast");
    }
})
相关HTML:

<p class="selector"><a href="#" onclick="return false;" data-show="images">images</a> | <a href="#" onclick="return false;" data-show="info">information</a></p>

|

我的问题是url不会改变以反映内容,但我不想创建单独的页面。我可以想象我将需要使用链接锚,但不知道如何做到这一点


提前感谢

您可以使用以下方法更改url的哈希值:

window.location.hash = 'images';
编辑:

首先,在此上下文中,您不需要包含哈希符号

其次,我忽略了一个明显的问题,您只需将HTML更改为此即可正确更新URL:

<p class="selector">
    <a href="#images">images</a>
    <a href="#information">information</a>
</p>
如果要刷新页面并获得相同的内容,可以通过执行以下操作检查哈希标记(可能需要根据最初显示的元素进行编辑):


如果您所做的只是在URL中设置文本,那么可以通过设置
location.hash

location.hash="#SomeTextHereThatMayOrMayNotNecessarilyBeAnAnchor"

^注意“#”很重要

谢谢,这就是我要找的。我在单击info
location.hash='#info'
时已经这样做了,但是当我在最后用该#信息刷新页面时,它不会加载信息。相反,默认图像您的代码必须更改才能适应此更改。或者您可以只使用某人已根据您的规范创建的库脚本,例如,谢谢,但我将在何处声明此window.location.hash
$(document).ready(function() {
    if (window.location.hash == '#images') {
        $("#info").hide();
        $("#displayImg").show()
        $("#imageFlow").show();
    }
    else if (window.location.hash == '#info') {
        $("#displayImg").hide();
        $("#imageFlow").hide();
        $("#info").show();
    }
});
location.hash="#SomeTextHereThatMayOrMayNotNecessarilyBeAnAnchor"