Note that there are some explanatory texts on larger screens.

plurals
  1. POClosest/Sibling with jQuery on this navigation menu
    primarykey
    data
    text
    <p>I have most of this working - the sections expand when clicking a heading (for example, Business Jet Traveler). What I am struggling with is this - when you expand a different section, THEN click on one of the sub-links, I want the OTHER section - the one you were just in - to collapse and become inactive (no light-colored background). Does this make sense?</p> <p><a href="http://jsfiddle.net/velcrobots/B6d35/" rel="nofollow">http://jsfiddle.net/velcrobots/B6d35/</a></p> <p>I'm trying to use closest() and siblings() but I guess I'm missing something. Any ideas?</p> <p>HTML:</p> <pre><code>&lt;div id="mk-menu"&gt; &lt;div class="mk-ribbon"&gt;&lt;/div&gt; &lt;h1&gt;&lt;?php print $yr; ?&gt;&lt;br/&gt;Media Kits&lt;/h1&gt; &lt;h2&gt;Advertise With AIN&lt;/h2&gt; &lt;div&gt;&lt;!-- wrapper to separate menu items for jquery --&gt; &lt;div class="mk-menu-item"&gt; &lt;a class="menu-head" id="ain-menu"&gt;Aviation International News&lt;/a&gt; &lt;ul id="ain-menu-sub" class="mk-submenu"&gt; &lt;li&gt;&lt;a href="#" name="ain-cal"&gt;Calendar&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="ain-rates"&gt;Print Rates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="ain-orates"&gt;Online Rates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="ain-specs"&gt;Print Specs&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="ain-ospecs"&gt;Online Specs&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;div class="mk-menu-item"&gt; &lt;a class="menu-head" id="bjt-menu"&gt;Business Jet Traveler&lt;/a&gt; &lt;ul id="bjt-menu-sub" class="mk-submenu"&gt; &lt;li&gt;&lt;a href="#" name="bjt-cal"&gt;Calendar&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="bjt-rates"&gt;Print Rates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="bjt-orates"&gt;Online Rates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="bjt-specs"&gt;Print Specs&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="bjt-ospecs"&gt;Online Specs&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;div class="mk-menu-item"&gt; &lt;a class="menu-head" id="cnd-menu"&gt;Convention News&lt;br/&gt;Daily Editions&lt;/a&gt; &lt;ul id="cnd-menu-sub" class="mk-submenu"&gt; &lt;li&gt;&lt;a href="#" name="cnd-cal"&gt;Calendar&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="cnd-rates"&gt;Print Rates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="cnd-orates"&gt;Online Rates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="cnd-specs"&gt;Print Specs&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="cnd-ospecs"&gt;Online Specs&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;div class="mk-menu-item"&gt; &lt;a class="menu-head" id="and-menu"&gt;Airshow News&lt;br/&gt;Daily Editions&lt;/a&gt; &lt;ul id="and-menu-sub" class="mk-submenu"&gt; &lt;li&gt;&lt;a href="#" name="and-cal"&gt;Calendar&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="and-rates"&gt;Print Rates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="and-orates"&gt;Online Rates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="and-specs"&gt;Print Specs&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="and-ospecs"&gt;Online Specs&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;div class="mk-menu-item"&gt; &lt;a class="menu-head" id="enews-menu"&gt;Emailed Newsletters&lt;/a&gt; &lt;ul id="enews-menu-sub" class="mk-submenu"&gt; &lt;li&gt;&lt;a href="#" name="enews-rates"&gt;Rates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#" name="enews-specs"&gt;Specs&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt;&lt;!-- end wrapper div to separate for jquery --&gt; &lt;div class="mk-ribbon-end"&gt;&lt;/div&gt; &lt;/div&gt;&lt;!-- end #mk-menu --&gt; </code></pre> <p>CSS:</p> <pre class="lang-css prettyprint-override"><code>#mk-menu {color:#FFF; background:#556B80; float: left; margin-top: -39px; position: relative; width: 204px; font-family: Verdana,Geneva,sans-serif; padding-bottom:20px} .mk-ribbon {height:18px; width:25px; background:url(http://www.ainonline.com/sites/all/themes/ain_core/images/mk-ribbon.png) no-repeat; position:absolute; right:-25px} .mk-ribbon-end {width:204px; height:51px; background:url(http://www.ainonline.com/sites/all/themes/ain_core/images/mk-ribbon-end.png) no-repeat; position:absolute; bottom:-51px} #mk-menu h1 {font-family: Georgia, "Times New Roman", Times, serif;border-bottom: 1px solid #FFF; font-size: 25px; font-weight: bold; line-height: 32px; margin: 40px 15px 0; text-align: center; text-transform: uppercase;} #mk-menu h2 {font-family: Georgia, "Times New Roman", Times, serif;font-size: 12px; margin: 6px 0 35px; text-align: center; text-transform: uppercase;} a.menu-head {color: #FFF; display: block; font-size: 10px; margin: 10px 5px 0; padding: 5px; text-transform: uppercase; line-height:12px} a.mk-selected, a.menu-head:hover {background: #6E8193; line-height:12px} a.menu-head:hover {cursor:pointer; color:#FFF !important} #mk-menu ul {font-size: 14px; margin: 10px 0 15px 60px;} #mk-menu li {font-size: 12px; line-height: 16px;} #mk-menu li a {color:#FFF; text-decoration:none} #mk-menu li:hover, #mk-menu li a:hover, #mk-menu li.active {list-style:disc; font-weight:bold; color:#FFF !important} .mk-submenu {display:none} </code></pre> <p>jQuery:</p> <pre><code>jQuery(document).ready(function(){ jQuery(".menu-head").click(function (a) { var myid = jQuery(this).attr("id"); jQuery("#"+myid+"-sub").slideToggle(100); jQuery(this).toggleClass("mk-selected"); a.preventDefault(); }); jQuery(".mk-submenu li").click(function (b) { jQuery(".mk-submenu li").removeClass("active"); jQuery(this).addClass("active"); b.preventDefault(); }); jQuery(".mk-submenu li a").click(function (c) { jQuery(this).closest(".mk-menu-item").siblings().removeClass("mk-selected"); var myname = jQuery(this).attr("name"); jQuery(".mk-section").hide(); jQuery("#"+myname).show(); c.preventDefault(); }); }); </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload