1

我在一个页面上有几个链接,我希望它们能够区分和添加书签。例如。如果我contact.php在那个页面上有一个,我有几个 jQuery 点击事件绑定到一个链接,例如www.mywebsite.com/contact.php#accountant, www.mywebsite.com/contact.php#developer。当我单击链接时,jQuery 工作。

但是当我在浏览器中输入链接时,www.mywebsite.com/contact.php#accountant它并没有直接带我进入会计师的联系方式,而是我不得不再次点击会计师的联系方式。

我正在使用的页面在这里

我希望我能够解释我的问题。谢谢。

更新

$('#contact' + $('a[href="'+window.location.hash+'"]').get(0).className.replace('contact', '') ).fadeIn(3000);

到网站上的 main.js 文件,但仍然无法正常工作

4

3 回答 3

3

在页面加载时读取 window.location.hash,如果它有值,则运行您的代码。

于 2013-05-10T13:09:45.723 回答
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
}
于 2013-05-10T13:09:57.627 回答
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);
}

这与文件中的第 23 行基本相同main.js- 除了它会寻找一个href包含a 的锚点window.location.hash,用于.get(0)抓取实际的 DOM 元素,抓取className并清除contact部分,使用值代替 where您最初使用了numbvar,然后将其淡入。

于 2013-05-10T13:19:46.353 回答