【发布时间】:2017-09-13 03:09:29
【问题描述】:
我目前正在编写一个网站作为学校项目的脚本。我的想法是将整个内容加载到一个文件中,但是如果您单击导航中的链接,则只会显示允许的内容。我用 javascript 做到了这一点,它对 url 做出反应,所以当我点击导航上的链接时,url 必须改变。所以我只是在href后面加了一个#:
<nav id="nav">
<a id="ict" href="index.html#ict" onclick="refresher();" >Informatik</a>
<a id="mmt" href="index.html#mmt" onclick="refresher();" >Multimediatechnik</a>
<a id="gundd" href="index.html#gundd" onclick="refresher();" >Gestaltung und Design</a>
<a id="daw" href="index.html#daw" onclick="refresher();" >Digital Artwork Gallery</a>
<a id="about" href="index.html#about" onclick="refresher();" >Über mich</a>
</nav>
这在 Google Chrome 和 Micrisoft Edge 上运行良好,但如果您使用 firefox 或 safari,url 中的 # 不会改变。
我不认为 JS 是这里的问题,但我不是 100% 确定,所以这里是 onclick_function:
function refresher(){
location.reload()
}
感谢您的帮助!
【问题讨论】:
-
按照您的设置方式,我不确定您为什么要使用 location.reload。你不应该只是显示/隐藏内容吗?内容已经在页面上,无需重新加载,只需呈现即可。
-
但我还能如何让 js 重新加载?现在看起来像这样:
document.getElementById('daw_gal').style.display = "block";但除非重新加载 js,否则这不会发生。我说得对吗? @凯文 -
js 不需要重新加载。您只需运行需要在您正在调用的函数中运行的代码。
-
现在我明白你在说什么,我会试着告诉你它是否有效。谢谢!
标签: javascript jquery html css firefox