2013-05-10 24 views
0

我使用的是這裏找到的奇特的FAQ代碼(底部的「優雅」版本是精確的); http://davidwalsh.name/jquery-slidersjquery處理多個頁面的錨鏈接

我想要做的是爲我的每個常見問題解答問題創建錨點,並使用這些錨點在電子郵件中提供適當問題的鏈接。另外,我希望顯示/隱藏jquery代碼能夠識別傳入請求是否針對特定問題,並使用slidetoggle()顯示匹配答案。

我陷入困境,試圖弄清楚FAQ頁面的jQuery代碼如何解析用於加載頁面的href和關聯的錨定值。任何指針在正確的方向將不勝感激。

基本HTML示例;

<h3>This is question 1?</h3> 
<div> 
    <p>This is the answer to question #1. Pellentesque habitant morbi....</p> 
</div> 
<h3>This is question 2?</h3> 
<div> 
    <p>This is the answer to question #2. Pellentesque habitant morbi....</p> 
</div> 
<!-- more... --> 

而且Jquery的

$(document).ready(function() { 
    $('#faqs h3').each(function() { 
     var tis = $(this), state = false, answer = tis.next('div').hide().css('height','auto').slideUp(); 
     tis.click(function() { 
      state = !state; 
      answer.slideToggle(state); 
      tis.toggleClass('active',state); 
     }); 
    }); 
}); 
+0

嘗試重新措辭你的問題,我很難明白你想要什麼。 – djowinz 2013-05-10 21:10:15

+0

我想通過電子郵件提供一個鏈接到我的常見問題頁面這樣的事情; http:\\ mysite \ FAQ.html#QUESTION1 在我的FAQ頁面上,我希望頁面加載到QUESTION1的錨點,我希望處理slidetoggle的jquery代碼正確顯示question1的答案。目前,slidetoggle僅適用於加載FAQ頁面的問題點擊。那有意義嗎? – Rob 2013-05-10 21:15:36

回答

2

location.hash屬性包含的哈希值。你可以閱讀更多關於它herehere。一旦你有這個價值,它應該是相當簡單的slideToggle()相應的FAQ。

+0

好的!我認爲這是我需要指出的正確方向。我將在我工作後更新。謝謝。 – Rob 2013-05-10 21:35:29

+0

我不知道我在做什麼錯,但我似乎無法獲得散列值。如果我運行這個; 'if(window.location.hash){console.log(「FOUND HASH」); } else { \t \t console.log(「HASH NOT FOUND」); }' 我總是得到else子句。但是,如果直接查看DOM值,我可以清楚地看到URL中的散列值。我是玉米融合的。 – Rob 2013-05-10 23:52:35

+0

這個答案解決了我原來的問題。現在我遇到了麻煩,並要求後續[這裏](http://stackoverflow.com/questions/16494058/jquery-not-returning-url-hash)。 – Rob 2013-05-11 05:28:06