2013-04-05 23 views
0

我有一個UL在默認狀態下隱藏列表中的元素:jQuery的唯一的工作,一旦

$(function() { 
    $("li.closed > ul").hide(); 
}); 

在點擊我顯示出與撥動隱藏列表元素。

$("ul > li.closed").click(function() { 
    var li = $(this).closest('li'); 
    li.find(' > ul').slideToggle('fast'); 
    $(this).toggleClass("closed open"); 
}); 

一切都工作正常。但是,當我訪問其他網頁,回到我以前的,切換不工作了 - 當我點擊他們切換出來,並立即切換回

我加載我的鏈接在一個div與此:

$(".link").click(function (e) { 
    // Prevent the default action of the event 
    e.preventDefault(); 
    var linkHref = this.id + '.html'; 
    $("#content").load(linkHref); 
    $("#nav a.active").toggleClass('inactive active'); 
    $(this).addClass("active").removeClass('inactive'); 
}); 

因此,我的HTML頁面只存在身體部分,我再次加載global.js,這可能是一個問題(像緩存或什麼)?就像這樣:

<script src="js/global.js" type="text/javascript"></script> 

<article>  
    <ul> 
     <li class="closed">Headline 
      <ul> 
       <li class="fl"><a href="#"><img src="x.png"></a></li> 
       <li class="fl"><a href="#"><img src="x.png"></a></li> 
      </ul> 
     </li> 
    </ul> 
</article> 

回答

2

而不是有這個 -

$(function() { 
    $("li.closed > ul").hide(); 
}); 

取消上述jQuery代碼並插入到你的CSS這

li.closed > ul { 
    display:none; 
} 
+0

好了,現在是工作,謝謝。但是現在,當我在點擊其中一個時,它們會一直隱藏列表元素。有任何想法嗎? – sqe 2013-04-05 23:01:03

+0

嘗試刪除此行。 $(this).toggleClass(「closed open」); – Vector 2013-04-05 23:07:21

+0

不幸的是沒有區別。我需要這一行來切換我的類 - 我得到了不同的開放:before和closed:在我需要的樣式之前。 – sqe 2013-04-05 23:11:51