2010-06-28 63 views
0

我有以下的jQuery代碼關於我的標籤:繼續通過網頁添加的類與jQuery刷新

$("#onglet>ul>li").click(function(){ 

     $("#onglet ul li").removeClass('Selectionne').addClass("OngletPrincipal");  
    $(this).removeClass().addClass('Selectionne'); 
    $(this).unbind('mouseenter mouseleave'); 

它的工作原理,但只要我點擊,導致我到另一個頁面中的標籤上,在標籤變它的原始類....所以其外觀終於不會改變..

<div id="onglet"> 
    <ul > 
     <li class="OngletPrincipal"> 
     <a href="masterPage.html">Accueil</a> 
     </li> 
     <li class="OngletPrincipal"> 
     <a href="masterPage.html">Catalogue </a> 
     </li> 
     <li class="OngletPrincipal"> 
     <a href="Societe.html"> Nous </a> 
     </li> 
     <li class="OngletPrincipal"> 
     <a href="contact.html"> Contacts  </a> 
     </li> 
     <li class="OngletPrincipal"> 
     <a href="tableauBord.html"> Espace client</a> 
     </li> 
    </ul> 
    </div> 

我應該如何保持選項卡與「Selectionne」類? .... thankkkkkk you!

回答

4

如果您正在加載新的靜態頁面,並且選定的選項卡只是該頁面的鏈接,爲什麼選定的選項卡不會被硬編碼到每個頁面中?如果您動態地爲您的頁面提供服務,爲什麼服務器在生成頁面時不會設置所選的類?它看起來像這些標籤在一組靜態html頁面之間導航,所以我不知道爲什麼你需要在使用JavaScript加載頁面後設置這個類。

但是,如果有一些原因,我錯過了在頁面加載後設置此選項,您可以使用jquery address或其他一些歷史類型插件來查看URL中的選項卡選項,以便在頁面之後解析它負載,如http://fake.com/foo.html#/tab1。或者,如果沒有插件,您可以檢查您在加載時選擇哪個頁面並設置標籤:

$(document).ready(function(){ 
    var loc = window.location.toString(); 
    var page = loc.substring(
     loc.lastIndexOf('/',0) + 1, 
     loc.length); 
    $('#onglet>ul>li>a[href$="' + page + '"]').parent().addClass('Selectionne'); 
}); 
2

如果你完全重新加載/加載頁面的href,這是另一個頁面,因此一切都重新加載,你的js添加類返回到初始類。

你必須記住它在服務器端,或者將它傳遞給你在js中解析的url參數,並且看看請求了什麼,激活右邊的類。

或動態加載內容並保持在同一頁面上。

相關問題