2016-11-01 402 views
0

我已經開發了這個切換菜單,也顯示每個主題的報價。唯一無法弄清楚的是如何使用另一個頁面的鏈接切換特定主題。下面的工作示例。感謝您的期待。jquery打開從外部鏈接切換

jQuery(document).ready(function($) { 
 

 
\t $(".faqs dd").hide(); 
 
    $(".faqs dt").click(function() { 
 
     $(this).next(".faqs dd").slideToggle("slow").siblings(".faqs dd:visible").slideUp("slow"); 
 
     $(this).toggleClass("expanded"); 
 
\t \t $(this).siblings(".faqs dt").removeClass("expanded"); 
 
\t \t 
 
\t \t 
 
    if($(".faqs dt").hasClass("expanded") == true) { 
 
     // hide open subcontents 
 
     $('.subcontent:visible').hide(); 
 
\t \t $('.mainquote:visible').hide(); 
 
     // fade in new selected subcontent 
 
     $('.subcontent[id='+$(this).attr('data-id')+']').delay(500).fadeIn();  
 
\t \t \t } else { 
 
\t \t \t \t $('.subcontent:visible').hide(); } 
 
\t \t \t \t 
 
\t \t  }); \t 
 
\t \t \t });
dl dt, 
 
dl dd { 
 
    display:inline-block; 
 
    *display:inline; 
 
    font-weight: normal; 
 
    vertical-align:top; 
 
    float:left; 
 
    width:100%; 
 
} 
 

 

 
.faqs dt, .faqs dd { padding: 0 0 0 30px; margin: 2px 0 0px 0; 
 
\t -ms-word-break: normal; 
 
\t word-wrap: normal; 
 
\t -webkit-hyphens: none; 
 
\t -moz-hyphens: none; 
 
\t hyphens: none; } 
 

 
.faqs dt {font-weight:bold;} \t 
 

 
.faqs dt {cursor: pointer; background: url(http://www.evolvedstudio.com/plus_orange.png) no-repeat left; vertical-align:top; } 
 
.faqs .expanded { background: url(http://www.evolvedstudio.com/minus_orange.png) no-repeat left; vertical-align:top; } 
 

 
.subcontent {display:none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="subcontent" id="123"><em>quote1</em></p></div> 
 

 

 
<div class="subcontent" id="124"><em>quote2</em></p></div> 
 

 
<dl class="faqs"> 
 

 
<dt data-id="123">Topic 1</dt> 
 
<dd>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
 
</dd> 
 

 
<dt data-id="124">Topic 2</dt> 
 
<dd>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</dd> 
 

 
</dl>

+0

你是什麼意思「從另一頁控制」? – void

+0

我想在頂級導航中的另一頁上有一個鏈接,該鏈接轉到帶有此代碼的頁面並打開該主題。因此,例如,如果我通過主題「主題1」鏈接到此處,那麼我想在此頁面上打開「主題1」。 – DanC

+0

你的意思是,如果你點擊一些鏈接,如「index.html#topic1」,那麼它應該登錄到index.html並打開topic1,或者如果鏈接是index.html#topic2,那麼topic2應該默認打開? – void

回答

0

捕捉哈希和

$(function(){ 

    var hash = window.location.hash.substr(1); 
    showTopic(hash); 

}); 

function showHash(s){ 
    if(s=="") return; 
    $(".dt_"+s).trigger("click"); 
} 

,並更改HTML到

<dt data-id="123" class="dt_topic1">Topic 1</dt> 
<dd>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
</dd> 

<dt data-id="124" class=dt_topic2"">Topic 2</dt> 
<dd>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</dd> 

即只需添加上dt

並創建鏈接,如filename.html#topic1filename.html#topic2

+0

我無法得到這個工作。報價也沒有出現。 – DanC

+0

我希望你有你的代碼添加到我的代碼。我的代碼應該在你的代碼之後預先發布。 – void

+0

或者你能告訴我你面臨的錯誤是什麼? – void