2011-11-22 9 views
5

पर क्लिक किया गया है तो कृपया कोई कोड के साथ मदद कर सकता है।jQuery शो सबमेनू अगर माता-पिता को

मैं उपमेनू माता-पिता पर क्लिक होने पर केवल उपमेनू दिखाना चाहता हूं।

एचटीएमएल

<ul> 
<li><a href="#">Item</a></li> 
<li><a href="#">Item</a> 
    <ul class="sub-menu"> 
     <li><a href="#">Submenu</a></li> 
     <li><a href="#">Submenu</a></li> 
    </ul> 
</li> 
<li><a href="#">Item</a></li> 
<li><a href="#">Item</a> 
    <ul class="sub-menu"> 
     <li><a href="#">Submenu</a></li> 
     <li><a href="#">Submenu</a></li> 
    </ul> 
</li> 
<li><a href="#">Item</a></li> 
</ul> 

तो तुम माता पिता सबमेनू पर क्लिक करते हैं दिखाएगा। http://jsfiddle.net/KhNCV/1/

उत्तर

9
$('.sub-menu').hide(); 

$("li:has(ul)").click(function(){ 

$("ul",this).slideDown(); 
}); 

http://jsfiddle.net/3nigma/KhNCV/2/

या

$('.sub-menu').hide(); 

$("li:has(ul)").click(function(){ 

$("ul",this).toggle('slow'); 
}); 

http://jsfiddle.net/3nigma/KhNCV/4/

+0

अच्छा एक लेकिन अंतिम क्लिक किए गए उप-मेनू को कैसे छिपाना है। अब यह –

1

यहाँ your example working है -

यहाँ बेला कड़ी है। यह स्पष्ट नहीं है कि आपको a टैग की आवश्यकता क्यों है, क्योंकि आप कर्सर का उपयोग कर सकते हैं: li को क्लिक करने योग्य बनाने के लिए सीएसएस में पॉइंटर। मुझे लगता है कि आप आईई में उन पर कुछ स्पिफी होवर करना चाहते हैं जो केवल सीएसएस है? यदि नहीं, तो आप उन्हें हटाकर सरल बना सकते हैं।

.submenu पर छुपा() करने के बजाय, आपको सीएसएस का उपयोग करना चाहिए (रेडी/लोड के बजाय डीओएम के साथ पार्स किया गया)।

$('ul li a').click(function() { 
    $(this).parent().find('ul.sub-menu').toggle(); 
    return false; 
}); 
+0

दोनों को विचलित कर रहा है लेकिन पिछले उप मेनू को कैसे छिपाना है क्योंकि अब दोनों प्रदर्शित हो रहे हैं –

1
$('li a').click(
function() { 
    $(this).next().slideToggle(); 
}) 
0

इस

$(function(){ 

    //Hide all the sub menus 
    $('.sub-menu').hide(); 

    $("li:has(ul)").click(function(){ 
     //Find the child ul and slideToggle 
     $(this).children("ul").slideToggle(); 
    }); 
}); 
2
$('.sub-menu').hide(); 

$("a").click(function(){ 

    $(this).parent().children("ul").toggle(); 

}) 

जांच के लिए इस लिंक http://jsfiddle.net/KhNCV/6/

का प्रयास करें:

.sub-menu { display: none; } 

और फिर यहाँ मेनू टॉगल करने के लिए आप कोड है

संबंधित मुद्दे