2010-05-08 4 views
5

पर क्लिक करने के बाद उप मेनू को कैसे खोलें, मुझे निम्न परिदृश्य है। मेरे पास एक मेनू है और यदि कोई मेनू पर हो जाता है तो एक उप मेनू प्रकट होता है और यदि माउस बाहर निकलता है तो उप मेनू गायब हो जाता है, अब मैं उप मेनू में किसी आइटम पर क्लिक करने पर निम्न चाहता हूं, मैं उप-मेनू चाहता हूं खुला रहता है, जब नया पेज लोड हो जाता है। मैं इसके लिए superfish Jquery प्लगइन का उपयोग कर रहा हूँ।सुपरफिश:

क्या यह संभव है और यदि कैसे।

html में मेरी कोड

<div id="nav"> 
     <div id="nav2"> 
      <ul class="sf-menu sf-navbar "> 
       <li> 
             <a title="HOME" class="sf-with-ul " href="/index.php?r=site/index&amp;sid=1">HOME</a>    </li> 
      </ul> 
      <ul class="sf-menu sf-navbar"> 
       <li> 

        <a href="?sid=2" id="gallery" class="sf-with-ul selected_main">GALLERY</a> 
        <ul class="subs" id="sub1"><li class="arrow"><img src="images/arrow.gif" /></li><li><a title="Kitchens" href="/index.php?r=images/sddsd&amp;id=1">Kitchens</a></li><li><a title="Vanities" href="/index.php?r=images/sddsd&amp;id=2">Vanities</a></li></ul>    </li>  
      </ul> 
      <ul class="sf-menu sf-navbar "> 
       <li> 
        <a href="?sid=3" class="sf-with-ul " >ACCESSORIES</a> 
             <ul class="subs" id=""><li class="arrow"><img src="images/arrow.gif" /></li><li><a title="Door Handles" href="/index.php?r=images/sddsd&amp;id=2">Door Handles</a></li><li><a title="Spanners" href="/index.php?r=images/sddsd&amp;id=1">Spanners</a></li></ul>    </li> 
      </ul> 

      <ul class="sf-menu sf-navbar "> 
       <li> 
             <a title="CONTACT US" class="sf-with-ul " href="/index.php?r=site/contact&amp;sid=4">CONTACT US</a>    </li> 
      </ul> 
     </div> 

</div> 

और फिर superfish कोड

$(function(){ 
      $("ul.sf-menu").superfish({ 
       delay:   0, 
       speed:   'fast', 
       autoArrows: false, 
       dropShadows: false 
      }); 
     }); 

मैं भी यह पाया कि निम्न सीएसएस कोड आइटम

left: 0; 
top: 2.5em; 
z-index:  99; 

उत्तर

6
प्रदर्शित करने के लिए प्रयोग किया जाता है

मैं आपके लिए a demo पोस्ट करता हूं। असल में मैंने सुपरफिश फ़ंक्शन में "ऑनहाइड" फ़ंक्शन जोड़ा है, फिर कुछ अतिरिक्त कोडिंग जो मेनू को लगातार रखती हैं।

अतिरिक्त सीएसएस (डिफ़ॉल्ट suckerfish.css को)

.sf-menu li.sfSelected { 
background-color: #CFDEFF; 
} 

स्क्रिप्ट

$(function(){ 
    var menu = $("#nav"); 

    menu.find("ul.sf-menu") 
     .superfish({ 
      delay:   0, 
      speed:   'fast', 
      autoArrows: false, 
      dropShadows: false, 
      onHide:  function(){ 
       if (this.parent().is('.sfPersist')) { 
        this.show().css('visibility','visible').parent().addClass('sfHover'); 
       } 
      } 
     }) 
     .find('li > ul > li').click(function(){ 
      // hide previously persistent children (LOL that just sounds wrong) 
      menu.find('.sfPersist') 
       .removeClass('sfPersist sfHover') 
       .find('> ul').hide().css('visibility','hidden'); 

      // add children that should be persistent 
      if ($(this).is('.sfSelected')) { 
       // if previously selected, keep hidden 
       menu.find('li.sfSelected').removeClass('sfSelected'); 
      } else { 
       // Hide other selected classes 
       menu.find('li.sfSelected').removeClass('sfSelected'); 
       // if newly selected, then show 
       $(this) 
        .addClass('sfSelected') // remember which one is selected 
        .parent() 
        .show().css('visibility','visible') 
        .parent().addClass('sfHover sfPersist'); 
      } 
     }); 
}); 
+0

बढ़िया, मुझे एक जवाब प्रदान करने में प्रयास के लिए धन्यवाद, इसकी सराहना !!!!! – Roland

+0

बिल्कुल सही। यह बहुत अच्छा काम करता है। मैं Drupal पुस्तकालय का उपयोग कर रहा हूँ। मैंने स्क्रिप्ट फ़ंक्शन के बिना superfish.js में स्क्रिप्ट चिपकाया और यह पूरी तरह से काम किया। इस समाधान को पोस्ट करने के लिए धन्यवाद। – danielson317