如何使javascript链接收藏

时间:2013-05-10 13:07:58

标签: javascript jquery html css hyperlink

我在一个页面上有几个链接,我希望它们可以区分和书签。例如。 如果我在该页面上有contact.php,我会将几个jQuery点击事件绑定到www.mywebsite.com/contact.php#accountantwww.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文件,但仍无法正常工作

3 个答案:

答案 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>