所以我的网站在标题中有下拉菜单,链接到不同页面的子页面。像主按钮链接about.php
和悬停菜单链接about.php#contacts
等......
现在,在这些子页面中的每一个页面上,它们不是单独的页面,而是使用 javascript 函数打开/关闭以修改显示 css 值。
因此,如果我在索引上,然后单击about.php#contacts
,则可以很好地显示联系人内容。但是,如果我在 about 页面上,任何带有指向 about 页面的哈希链接都不起作用。对于其他页面,它会起作用,但如果哈希链接指向当前页面,它就不起作用。在地址栏中,网址发生了变化,但我猜页面或脚本需要强制重新加载以显示新内容。
这是我正在使用的相关代码,有没有更好的方法来完成我想要做的事情?
//Drop down
<ul><li><a href="about.php">About Us</a>
<ul><li><a href="about.php#profile">contacts</a></li>
//More..
</ul></li></ul>
//Menu on the page
<ul>
<li><a href="javascript:showlayer('contacts');"><span>Contacts</span></a></li>
//More
</ul>
//Javascript code that handles everything
<script language="javascript">
var hash = window.location.hash;
var selectedDiv = hash.split('#')[1];
if(selectedDiv != null)
{
showlayer(selectedDiv);
}
function showlayer(name){
document.getElementById("contacts").style.display = "none";
//More
document.getElementById(name).style.display = "block";
}
</script>