2016-12-07 45 views
0

你好,我想使用jQuery的切換功能只是一個UL顯示狀態的改變:如何指定使用jQuery顯示切換其無序列表

display: none; 

display: block; 

這作品,但我收到數據庫的信息,並與jQuery切換它顯示的所有信息不是專門從類別ID在其中我點擊

這是我有什麼Ø遠:

<section id="categories-wrapper"> 
 
    <div class="cat-center"> 
 
    <?php foreach($categories as $cat) { ?> 
 
    <?php if($cat['parent_id'] < 1) { ?> 
 
    <li> 
 
     <a href="#!"><img src="media/categories/<?php echo $cat['image']; ?>"></a> 
 
     <ul> 
 
     <?php 
 
$childCategories = $objCatalogue->getChildCategories($cat['id']); 
 
?> 
 
     <?php foreach($childCategories as $childCat) { ?> 
 
     <li><?php echo $childCat['name']; ?></li> 
 
     <?php } ?> 
 
     </ul> 
 
    </li> 
 
    <?php } ?> 
 
    <?php } ?> 
 
    </div> 
 
</section>

JS代碼:

$('.cat-center li').click(function() { 
    event.stopPropagation(); 
    $('.cat-center li ul').toggle('blind'); 
}); 

現在用jQuery的切換時,我的第一個鏈接點擊顯示來自其它鏈接的信息,以及,但CSS使用懸停命令只是改變顯示來阻止它的工作。有人能告訴我我做錯了什麼。

+0

我總是很高興來發布的jsfiddle人們立即檢查,並給您反饋。 –

+0

你也試圖切換一個類,或者你想切換jQuery的可見性動畫? –

+0

首先,您的HTML無效,因爲它缺少外部UL。 – CBroe

回答

1

試着改變你的$('.cat-center li ul').toggle('blind');

$('.cat-center li').click(function() { 
    event.stopPropagation(); 
    if ($(this).find('ul').is(":visible")) 
    { 
     $(this).find('ul').hide(500); 
    } 
    else 
    { 
     $('.cat-center li ul').hide(500); 
     $(this).find('ul').toggle('blind'); 
    } 
}); 

https://jsfiddle.net/m6jLo547/

+0

這樣做會隱藏我的分類列表並且不會切換ul。我試圖展示並隱藏每個類別鏈接下面的內容,而不是類別本身,謝謝你幫助我。 – Blu3

+0

已更改。試試'find',如果這就是你所追求的。 –

+0

是的,這與CBroe建議我的做法一樣好,但是現在,如果我點擊另一個類別,然後打開一個下拉菜單,那麼以前打開的類別仍然保持打開狀態,請告訴我如何關閉另一個下拉菜單當點擊新的圖標時,感謝您的幫助 – Blu3