Skip to main content

jQuery Simple Drop-Down Menu Plugin


The peculiarity of this jQuery dropdown menu is that these 20 lines of code and absence of various cumbersome mouse events within html code. This script requires the jQuery library. There's a version that does not require jQuery.

Example:

Compatibility: IE6+, Firefox 1.5+, Opera 8+, Safari 3+, Chrome 0.2+
Requirements: jQuery library
Size: < 1Kb;
Features:
  • unordered list as menu structure
  • absence of mouse events within html
  • timeout effect
License: Free, but please put a link to this page where you want.

Tutorial

OK, let's do it. You have to include the jQuery library:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js" type="text/javascript"></script>
As you can see, the link points to Google address. There is much probability that the jQuery already cached in the browser.
Now you can create main menu structure using HTML unordered list. Using of an unordered list for navigation is a very good practice. First of all it is semantically correct, it is also handy for changing/editing especially in compound treelike cases.
<ul id="jsddm">
    <li><a href="#">JavaScript</a>
        <ul>
            <li><a href="#">Drop Down Menu</a></li>
            <li><a href="#">jQuery Plugin</a></li>
            <li><a href="#">Ajax Navigation</a></li>
        </ul>
    </li>
    <li><a href="#">Effect</a>
        <ul>
            <li><a href="#">Slide Effect</a></li>
            <li><a href="#">Fade Effect</a></li>
            <li><a href="#">Opacity Mode</a></li>
            <li><a href="#">Drop Shadow</a></li>
            <li><a href="#">Semitransparent</a></li>
        </ul>
    </li>
    <li><a href="#">Navigation</a></li>
    <li><a href="#">HTML/CSS</a></li>
    <li><a href="#">Help</a></li>
</ul>
The difference between this list from any other - the identifier [ id="jsddm" ].
Styles. Align elements of the first level in a row. Setup for all a-tags display:block style. Hide all inner unordered lists (layers). Decorate everything else.
#jsddm
{ margin: 0;
 padding: 0}
 
 #jsddm li
 { float: left;
  list-style: none;
  font: 12px Tahoma, Arial}

 #jsddm li a
 { display: block;
  background: #20548E;
  padding: 5px 12px;
  text-decoration: none;
  border-right: 1px solid white;
  width: 70px;
  color: #EAFFED;
  white-space: nowrap}

 #jsddm li a:hover
 { background: #1A4473}
  
  #jsddm li ul
  { margin: 0;
   padding: 0;
   position: absolute;
   visibility: hidden;
   border-top: 1px solid white}
  
  #jsddm li ul li
  { float: none;
   display: inline}
  
  #jsddm li ul li a
  { width: auto;
   background: #9F1B1B}
  
  #jsddm li ul li a:hover
  { background: #7F1616}
So, the script. Bind event handlers with a first-level li-nodes. If mouse over the button - close old layer(if it visible) and open new. When mouse out from button - turn on the timer to 500 milliseconds to close all layers. That's all :)
var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

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', jsddm_open)
   $('#jsddm > li').bind('mouseout',  jsddm_timer)});

document.onclick = jsddm_close;
Note: Please don't forget to use the DOCTYPE declaration for universal compatibility, for example:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
License: Free, but please put a link to this page where you want.
Looking for Multi-Level Menu Script? See the Multi Level Drop Down Menu.

Comments

Popular posts from this blog

உடல் எடையை குறைக்க வேண்டுமா ?

இன்றைய அவசர உலகின் மிக பெரிய பிரச்சனையாக இருப்பது உடல் எடை அதிகரிப்பது தான்.மனம் போன போக்கில் உணவு கட்டு பாடு இல்லாமல் கண்டதையும் உள்ளே தள்ளுவதும்,உக்காந்த இடத்திலேயே கணணி முன் நேரத்தை விரயமாக்குவதும் தான் இந்த பிரச்சனைக்கு மூல காரணமாகும். அது சரி இந்த பிரச்சனையை எப்படி இல்லாமல் செய்வது அல்லது உடல் எடையை எவ்வாறு குறைப்பது என்பதை பற்றி பாப்போம் , பல வருட ஆரய்சிக்குபின் மருத்துவர்கள்   உடல் எடைய குறைக்க மிகவும் சுலபமான உடற்பயிற்சியை கண்டுபிடித்துள்ளனர்.இது  100% பயனளிக்க கூடியது, எந்த இடத்திலும் எந்தநேரத்திலும் மிக சுலபமா செய்ய கூடிய உடற் பயிற்சியாகும்.இந்த உடற்பயிற்சிகள் படத்துடன் கீழே தரப்பட்டுள்ளது நீங்களும் முயற்சித்து பாருங்கள கண்டிப்பாக பலன் கிடைக்கும்... முதலில் நாற்காலியில் உட்கார்ந்து இட  பக்கம் பார்கவும் .. ..        அடுத்து  நாற்காலியில் உட்கார்ந்து வல  பக்கம் பார்கவும்  ....  நண்பர்கள் யாரவது மச்சி வாடா சின்ன பீஸ் ,இங்க பாரு சூப்பர் அய்டம்னு சொல்லி கால்ல விழுந்து கூப்பிட்டலோ மேற்கூறிய உடற் பயி...

(Loot again) Get Mi Earphones & Mi Backpack In Just Rs.1

How to Get Mi Band , Mi Earphones & Mi Backpack In Just Rs.1 1, First Of All Just  Click On Below Links 1 By 1  Click 1->  Mi City Backpack Dark Grey Minimalist sleek design  -In Just Rs.1 Click 2->  Mi Earphones Silver Dynamic bass sound  -In Just Rs.1 2. Now Open All Links 1 By 1 3. After Opening The Link Click On “ Click to Bring The Price Down ” Then Click “ I Want it too ” 4. Login into Your Mi Account ( Or Sign Up  –  New Mi Account Giving Huge Price drop Like Rs.50 Or Rs.70 Drop , So Recommend You to Make New Account ) 5. Now You will See 3 Products There In this  Mi 24 Hour Madness Sale  6. Click On “ Participate ” Now Button & Share The Link With Your Friends When Each Friend Click On Your Link , You Will See Some Price cut in Your Products… Finally After Enough Click Your Product Will be Available For Just Rs.1  7. Start Referring , Start Looting MI

10 Inventive 3D Website Designs

he  HTML5 Microzone  is presented by DZone and Microsoft to bring you the most interesting and relevant content on emerging web standards.  Experience all that the HTML5 Microzone has to offer on our  homepage  and check out the cutting edge web development tutorials on  Script Junkie ,  Build My Pinned Site , and the  HTML5 DevCenter . 3D Unique Website Designs Our website periodically produces interesting web roundups (of tutorials or designs or something else). Today I prepared a new design collection of 3D look websites. If you would like to start something new or you think about something completely new, this is the best place to start. You will be able to find here excellent examples of 3D websites. 1. Cube 2. Pneuservis Praha a autoservis Praha – HMR 3. The Amazing Spider-Man 4. 2Brand 5. The Story of Send 6. avles13 7. Dragon Interactive 8. Artfolio Art Gallery 9. Blocky Earth 10. Angry Birds...