2013-05-09 72 views
0

我很難得到任何jQuery代碼的工作。我試過一些例子,但沒有一個適合我。下面是一個例子,這種類型的工作來自C驅動器的Chrome,但不是來自Web上的Dropbox,在ie9中也沒有任何作用。試圖讓jquery工作

當它是從我的C驅動器的鉻'工作',它開始顯示所有的選項卡,而不是隻是選項卡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> 
+0

似乎對我http://jsfiddle.net/GM6Qk/工作 – 2013-05-09 18:21:18

+0

我認爲你需要使用:'如果(在窗口 「onhashchange」){// ... }'在這裏看到:HTTP:/ /stackoverflow.com/questions/3090478/jquery-hash-change-event – ZimSystem 2013-05-09 18:25:54

+0

我添加了建議的文檔就緒行。我想我不明白我下一步該做什麼。我真的不明白代碼是如何工作的,我只是想看看我能用這個我沒有寫的例子來做什麼。我們的目標是,當頁面最初加載時,它不應該顯示標籤A標籤B標籤C,它應該只顯示標籤A.然後,如果你點擊一個鏈接,它會改變顯示哪一個。 – John 2013-05-09 18:40:26

回答

2

你忘了:

$(document).ready(function() { 

    // your code goes here 

}); 

所以附加的點擊處理程序a.hash的時候,有一個在DOM沒有這樣的元素。

1

如果你的元素之前將您的jQuery,這會影響你需要在文檔正文的最後把它包起來的

$(document).ready(function() { 
    // Code to be run once the document is ready 
} 

或者,將你的腳本,使$(document).ready()冗餘。