Drop Down Menu Click

by TheFiddler

HTML

<div id="menucontainer">
  <ul id="jsddm">              
    <li class="topmenu"><a class="aa" href="#">Main Menu</a>
      <ul style="visibility: hidden;">
          <li><a href="http://www.google.com">Google</a></li>
          <li><a href="http://www.apple.com">Apple</a></li>
          <li><a href="http://www.microsoft.com">Microsoft</a></li>
      </ul>
    </li>        
    <li class="topmenu"><a class="aa" href="#">Second Menu</a>
       <ul style="visibility: hidden;">
           <li><a href="http://www.Oracle.com">Oracle</a></li>
           <li><a href="http://www.sp.com">HP</a></li>
           <li><a href="http://www.dell.com">Dell</a></li>
       </ul>
     </li>        
       
  </ul>
</div>

CSS

#jsddm
{    margin: 0;
    padding: 0;

}
#jsddm li {    float: left;
            list-style: none;
            font-size: 18px;
    }

#jsddm li a {    display: block;
    padding: 5px 10px;
    text-decoration: none;
    border-right: 1px solid white;
    color: #666;
    white-space: nowrap;
}
#jsddm li.active a {color: black;}
.separador a {border-top: 1px solid #eaeaea;}
#jsddm li a:hover {    color: black}
#jsddm li ul {    margin: 0;
        padding: 0;
        position: absolute;
        visibility: hidden;
        z-index: 99999;
        min-width: 150px;
        border: 1px solid silver}
        
#jsddm li ul li {float: none;
    font-size: 14px;
    
    display: inline}
            
#jsddm li ul li a {    width: auto;
    background: white;
    color: #24313C}
#jsddm li ul li a:hover {background: #eaeaea}

JavaScript

var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open(myobj) {
    // Changed this to not rely on this.
    var submenu = myobj.find('ul');
    jsddm_canceltimer();
    jsddm_close();
    if (submenu) {
        ddmenuitem = submenu.css('visibility', 'visible');
        return false;
    }
    return true;
}

function jsddm_close() { 
    if (ddmenuitem) ddmenuitem.css('visibility', 'hidden'); 
}

function jsddm_timer()
{ closetimer = window.setTimeout(jsddm_close, timeout); }

function jsddm_canceltimer() {
    if (closetimer) {
        window.clearTimeout(closetimer);
        closetimer = null;
    }
}

$(document).ready(function () {
    $('#jsddm > li').bind('mouseover', function() { jsddm_open($(this));});
    $('#jsddm > li').bind('mouseout', jsddm_timer);

    // this work, but the submenus dont click
    $('.aa').bind('click', function(e)
                  {
                      jsddm_open($(this).parent());
                      e.stopPropagation();
                  });
});

document.onclick = jsddm_close;