【发布时间】:2013-05-09 18:19:51
【问题描述】:
我很难让任何 jquery 代码工作。我已经尝试了一些示例,但没有一个对我有用。这是一个示例,它可以在 C 盘中的 chrome 中运行,但不能从网络上的 Dropbox 中运行,在 ie9 中也根本无法运行。
当它在我的 C 驱动器上的 chrome 上“有点”工作时,它会开始显示所有选项卡,而不是应该显示的选项卡 A。然后单击其中一个链接后,它只显示相应的选项卡。
我的最终目标是修改我的网站,以便在我每次单击菜单项时重新加载时整个页面不会闪烁。
<!-- found at: http://jsfiddle.net/uFgtS/ -->
<script type='text/javascript' src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type='text/javascript'>
$(window).on('hashchange', function() {
$('div.tab').hide();
$(location.hash).show();
});
$('a.hash').on('click', function(e){
e.preventDefault();
location.hash = $(this).data('hash');
});
</script>
<a href="#A" data-hash="A" class="hash">A Link</a>
<a href="#B" data-hash="B" class="hash">B Link</a>
<a href="#C" data-hash="C" class="hash">C Link</a>
<div id="A" class="tab">Tab A</div>
<div id="B" class="tab hidden">Tab B</div>
<div id="C" class="tab hidden">Tab C</div>
【问题讨论】:
-
似乎对我有用jsfiddle.net/GM6Qk
-
我认为你需要使用:
if ("onhashchange" in window) { //... }看这里:stackoverflow.com/questions/3090478/jquery-hash-change-event -
我添加了建议的文档就绪行。我想我不明白接下来我应该做什么。我真的不明白代码是如何工作的,我只是想看看我能用这个我没有写的例子做什么。目标是当页面最初加载时,它不应该显示选项卡 A 选项卡 B 选项卡 C,它应该只显示选项卡 A。然后,如果您单击一个链接,它会更改显示哪个链接。
标签: javascript jquery