我在一个页面上有几个链接,我希望它们可以区分和书签。例如。
如果我在该页面上有contact.php
,我会将几个jQuery点击事件绑定到www.mywebsite.com/contact.php#accountant
,www.mywebsite.com/contact.php#developer
的链接。当我点击链接jQuery工作。
但是当我在浏览器www.mywebsite.com/contact.php#accountant
中输入链接时,我不会直接看到会计师的联系方式,而是我不得不再次点击会计师联系人。
我正在使用的页面是here
我希望我能够解释我的问题。感谢。
更新
$('#contact' + $('a[href="'+window.location.hash+'"]').get(0).className.replace('contact', '') ).fadeIn(3000);
到网站上的main.js文件,但仍无法正常工作
答案 0 :(得分:3)
在页面加载时读取window.location.hash,如果它有值,则运行您的代码。
答案 1 :(得分:1)
为此,您需要捕获地址的搜索字符串。为此,您可以这样做:
if(window.location.hash) {
// Based on this, you need to activate the div.
// This depends on the script you use.
} else {
// Fragment doesn't exist
}
答案 2 :(得分:1)
您可以在$(document).ready(function(){...});
文件中使用以下代码,但不能在js/main.js
文件中的任何点击事件内使用以下代码:
var numb = $('a[href="'+window.location.hash+'"]').get(0);
if (numb != undefined) {
numb = numb.className.replace('contact', '');
$('#contact' + numb).fadeIn(3000);
}
这与main.js
文件中的第23行基本相同 - 除了它将查找包含href
的{{1}}的锚点,使用{{1}获取实际的DOM元素,抓取window.location.hash
并清除.get(0)
部分,使用值代替最初使用className
var的位置,然后将其淡入。< / p>