使用javascript链接的哈希链接问题
Issue with hash links working with javascript links
所以我的网站在标题中有下拉菜单,链接到不同页面的子页面。就像主按钮链接到about.php
和悬停菜单链接到about.php#contacts
等…
现在,在这些子页面中的每一个页面上,它们都不是独立的页面,而是使用javascript函数来修改显示css值。
因此,如果我在索引上,并单击about.php#contacts
,联系人内容显示得很好。然而,如果我在about页面上,任何带有指向about页面的哈希的链接都不起作用。对于其他页面,它会起作用,但如果哈希链接指向当前页面,它就不起作用。在地址栏中,url发生了变化,但我猜页面或脚本需要强制重新加载才能显示新内容。
以下是我正在使用的相关代码,有没有更好的方法来完成我想要做的事情?
//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>
单击指向具有不同哈希的当前页面的链接将不会重新加载页面。
相反,您需要向hashchange
事件添加一个处理程序,并在那里运行代码。
更好的是,将您的代码完全替换为CSS :target
选择器。
相关文章:
- 链接问题:下一个字符包含在<a>TinyMce ui TinyMce中的标签
- jquery对话框可见时自动下载链接问题
- 多个脚本导致链接问题?Javascript、CSS、HTML、Jquery
- 转.js目录链接问题
- 航点JS和锚链接问题
- 灯箱外部链接问题
- 字体在Safari上出现了很棒的链接问题,适用于Chrome和Firefox
- Jquerymobile面板链接问题
- IOS上ionic应用程序中的外部链接问题
- html页面中出现奇怪的链接问题
- Jquery UI选项卡直接链接问题
- javascript中的链接问题
- Javascript React单页应用程序+亚马逊S3:永久链接问题
- 锚点标签显示完整链接问题
- Angularjs在html5Mode中的链接问题
- Facebook发送对话框链接问题
- Chrome和Firefox中的nicEditor链接问题
- jQuery延迟了链接问题
- Html / Css链接问题
- Cheerio Node.JS外部标题链接问题