jQuery: The Write Less, Do More JavaScript Library

Blog » Expandable Sidebar Menu Screencast

Posted November 14th, 2006 by John Resig

This is the first (of hopefully many) screencasts that will provide a quick tutorial to a simple demo of jQuery in action. I plan on doing at least 2-3 more based upon the talks that I’ve given lately - hopefully I can trickle those out over the next week(s) or so. (Oh, and sorry if I sound tired - that’s because I am.) Enjoy!



jQuery Demo - Expandable Sidebar Menu on Vimeo

Or: Watch the original (.mov, 3.85MB) video. (I suspect that this version is much clearer - but not everyone supports Quicktime files)

File Downloads:


78 Responses to “Expandable Sidebar Menu Screencast”

  1. Dirk Ginader Says:

    Trackback:
    http://blog.ginader.de/archives/2006/11/14/Erster-jQuery-Screencast.php
    John Resig, der Hauptenwickler von jQuery, hat heute den ersten jQuery Screencast veröffentlicht. Dustin Diaz hatte bereits im Sommer angefangen mir mit tollen YUI-Screencasts die Angst vor dem Unbekannten zu nehmen. Jetzt…

  2. Jason Says:

    You’re very good at explaining everything, but I really think you should make these when you’re less tired. :)

  3. Matt Says:

    Looks good! I look forward to more of these as time goes on.

    On a side note; that type of menu is typically referred to as an “Accordian Menu” rather than an “Expandable Sidebar Menu.” To draw more attention to your screencasts, I’d suggest using the common names for design patterns like that. ;)

  4. Erin Says:

    Thanks for doing this! Please make more!

    What text editor are you using?

  5. John Resig Says:

    @Jason: Duly noted ;-)

    @Matt: Sigh, yes - Accordian menu. At 3:30am everything just becomes “expandable sidebar menus”.

    @Erin: I’m using Subethaedit for the Mac (try the free version). It has real-time collaborative editing and that real-time web preview. I love it!

  6. Rich Says:

    Great Screencast! I’m looking forward to more of these. I’d like to see a screencast on ajax functionalities as well as jQuery form usage.

    Thanks,
    Rich

  7. Roger Says:

    I am French,
    Super ce Tuto, Thanks for doing this!
    Thanks,
    Roger

  8. FreakDev Says:

    simple, usefull, well done…

    really nice! thanks!

  9. Dan Atkinson Says:

    The screencast reminds me of the Ruby on Rails ones!

    I like, I like!

  10. Joel Birch Says:

    This is great John. I think these screencasts will really help flick the switch of jQuery enlightenment for many people. The one or two web designers that I know are non-scripters and may feel like achieving such a seemingly complex effect is out of their depth. I know that when they see this screencast it will be like an epiphany for them.

  11. Rob Says:

    It’s great to see the innovator himself at work. Thanks so much.

  12. Expandable Sidebar Menu, el acordeón de jQuery - aNieto2K Says:

    […] Si eres de los que aman jQuery por encima de todas las cosas, pero el acordeón de moo.fx te hace dudar sobre tu amor. Ya puedes estar tranquilo, los chicos de jQuery se han puesto manos a la obra para que nunca más vuelvas a dudar sobre tus sentimientos. […]

  13. First jQuery Screencast by John Resig at There was Code; Then there was AJAX! Says:

    […] This is the first (of hopefully many) screencasts that will provide a quick tutorial to a simple demo of jQuery in action. Useful for those of you in internetland that are activly working with jQuery.read more | digg story Share and Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages. […]

  14. zig Says:

    I guess you’re using ie because it looks like doodoo in firefox.

  15. John Resig Says:

    @zig: I’m not sure what you’re referring to - this screencast demoed the code in both Firefox 2.0 and Safari 2.0. Can you reproduce this result?

  16. dragan Says:

    Jquery thinking example itself!

  17. Anton Says:

    Or “Accordion” even.. ;)

  18. Buddha Says:

    Hope you keep including the .mov file because the Flash just ain’t working for me.

  19. Glen Lipka Says:

    Awesome!

    It would be cool to also show the xPath version of the parent().next()

    Great work!

    Glen

  20. Grant Holman Says:

    Great demo, John. Things like this really help simple folk like myself to ‘get’ jquery.

    Quick question: Is it possible to prevent the DD block from sliding up then back down if it is already expanded?

    Cheers
    Grant

  21. Jörn Zaefferer Says:

    Hey Grant,

    you can save a reference to the currently active part of the menu and refer to that to prevent what you mention.

    If you need that and maybe some more features, take a look at my .

  22. Jörn Zaefferer Says:

    … my Accordion menu plugin: http://bassistance.de/jquery-plugins/jquery-plugin-accordion/

  23. Grant Holman Says:

    Thanks Jörn, I’ll have a look!

  24. Weblogger.ch » jQuery: links Says:

    […] Learning jQuery: Expandable Sidebar Menu Screencast Technorati Tags: jquery, javascript […]

  25. bassistance.de » Release: Accordion menu plugin for jQuery Says:

    […] jQuery Blog [1] jQuery Accordion menu plugin -Jörn Noch keine Kommentare vorhanden Trackback für diesen Artikel Kommentar zu diesem Artikelschreiben […]

  26. jQuery: Accordian Menu in 10 lines « Rip’s Domain Says:

    […] Accordian menu in 10 lines […]

  27. Expandable Sidebar Menu with jQuery :: Tech Videos, Screencasts, Tutorials, Webinars Says:

    […] Via jQuery blog. Tags:  AJAX, Broadcasting, Development, Javascript, Screencasts, Technologies, Web 2.0 […]

  28. jeremy Says:

    to make sure the currently opened dd block doesn;t slide up and down, you can also just check if its open, and then do nothing.

    if its open then $(this).parent().next() will be visible..
    so you could wrap the whole thing in an

    if(!$(this).parent().next().visible()){
    //do the cool stuff
    }

    ** caveat - i’m a jQuery newb, and not sure if .visible() is a property it can return.. (John?)

  29. Gary Sinise Says:

    This is awesome, I read through a lot of the documentation before seeing this screencast and only kind of understood how to implement something like this, seeing the screencast makes it totally clear. Thanks a ton! where’s the donate button again ;-)

  30. coyr Says:

    hi, your acordion menu is amazing, congratulation ;) . I want to know, which license type is it? i can’t see anyone. thanks!!

  31. Miejsca Says:

    Could anyone help me with expanding functionality of this script with cookies (remembering states) + some switches to make predefined tabs collapsed/expanded by default?

    I’d like to have similar functionality to that of menu of this site: http://miejsca.org/

    I am willing to pay if needed and then share the code with everyone, please mail me at mikolaj-i [at] o2 . pl

  32. Henrik Says:

    Slightly off topic, sorry for this, but what program or application are you using in this screen cast for editing the files? I’m a PC-dude ‘jumping ship’ to mac since I’ve had enough with spending time dealing with the OS…

    Thanks John, and perhaps all others that might answer my question.

  33. John Resig Says:

    @Henrik: I’m using one called iShowU. It’s simple, it’s cheap, and it does what I need it to.
    http://shinywhitebox.com/home/home.html

  34. Ty Says:

    I probably won’t understand the answer, but it won’t stop me from asking the question…
    What would you change in the setup to make some buttons clickable, and go directly to the page, instead of dropping down, as they all do now.
    thanks for any hints/ solutions.

  35. italo Says:

    how i create this menu, but i need some links expand and some not…?? i just need a link to be open on click… please respond me!!

  36. {j}sTyler Says:

    Hey I’ve got a version online here, looking good using png image buttons.
    I’ve removed the :not(:first) from the $(”dd”).hide();
    part of the function.
    How would I go about
    Link to the current working version demo:
    http://70.133.226.219/v2/jqueryAccordion.htm

    In other words what I am trying to do, and probably the preferred behavior is:
    have the menu load with all button’s closed, clicking on a button toggles that submenu, either open or close.
    An alternate bahavior that would be nice would be to define by a class, that a particular button goes directly to it’s hyperlink when clicked, because it has no sub-menu.
    Thanks for any help. Show me any coded solutions to any of these concepts would be great, not the best j-script’er.
    Thanks alot.

  37. {j}sTyler Says:

    Thanks so much to SebDuggan.com:
    For providing me with the code solution to make the buttons open and close when clicked (toggle) rather than open and open again (blink) as John’s demo does…
    Here’s the code from Seb:————
    $(’dt a’).click(function(){
    $(this).parent().next().siblings(’dd:visible’).slideUp(’slow’);
    $(this).parent().next().slideToggle(’slow’);
    return false;
    });
    ————-
    It replaces this part of the code in the example from John:
    ———————————————–
    $(”dt a”).click(function(){
    $(”dd:visible”).slideUp(”slow”);
    $(this).parent().next().slideDown(”slow”);
    return false;
    });
    ——————
    All there is to it, works sweet!!
    Ty

  38. Shelley Says:

    Hi
    Can anyone tell me why my accordian menus are jumping after I close them?

    http://pogueengineering.dsbworldwide.com/testtable.asp

    I so appreciate any help. Thank you! I’d make you cookies, but you’d probably die of food poisoning, so my thanks will have to do!

  39. health care products Says:

    health care products

    hiker wheeling swiftly Boston cantaloupe digresses

  40. life insurance corporation Says:

    life insurance corporation

    syndication:modalities doubters,amphibians demeanor delivery

  41. caffein free diet pills Says:

    caffein free diet pills

    festivals transgressions orchards Albanians disposes

  42. atlas direct student travel insurance Says:

    atlas direct student travel insurance

    yearning planoconcave prod

  43. uyxevtxqoh Says:

    Hello! Good Site! Thanks you! jgwiflwgtjnm

  44. Erik Says:

    This is great, Thank you

  45. Kent Davidson Says:

    John-

    Recently switched to Mac - what is the text editor you are using, and the “simple” browser with the automatic refresh? Looking at switching from prototype.js to jquery.js and am liking what I see so far. Thanks!

  46. Suvi Says:

    Cool! I have made two new features:

    $(”dd:not(#inicio)”).hide();
    $(”dt a”).click(function(){
    $(this).parent().next().siblings(”dd:visible”).slideUp(”fast”);
    $(this).parent().next().slideDown(”fast”);
    return false;
    });

    Typing dd:not(#inicio) we can labeled with id=”inicio” a start opened row.

    Based in the code of {j}sTyler(http://jquery.com/blog/2006/11/14/expandable-sidebar-menu-screencast/#comment-16193), with this code the menu don’t do nothing cliking in a opened row.

  47. victor Says:

    Suppose the page address ends with page.htm#abc
    How can I make the div (or dd that follows dt) with id=”abc” visible?

    The jquery code for showing/hiding:


    $(document).ready(function(){
    $("dd:not('.open')").hide();
    $("dt a").click(function(){
    $("dd:visible").slideUp("slow");
    $(this).parent().next().toggle("slow");
    return false;
    });
    });

  48. alexis Says:

    What about ie 6.0 performance? it look very different….

  49. zahlenzerkleinerer » Blog Archive » Ajax - Asynchronous JavaScript and XML Says:

    […] Zweit beliebteste Javascript Framework sehr gut Dokumentiert incl Video […]

  50. Baskie Says:

    Does anyone if it’s possible to make a sub sub menus with this code? If you had more options to choose from as you keep drilling down to be more specific for what your looking for.

  51. Shane Says:

    Can someone look at this code… For some reason the top menu is is smoother then the others… The others open more choppy?

    DL Demo

    $(document).ready(function(){
    $(”dd:not(:first)”).hide();
    $(”dt a”).click(function(){
    $(”dd:visible”).slideUp(”slow”);
    $(this).parent().next().slideDown(”slow”);
    return false;
    });
    });

    body { font-family: Tahoma; font-size: 4px; }
    dl { width: 200px; }
    dl,dd { margin: 0; }
    dt { background: #EBEBEB; font-size: 14px; padding: 5px; margin: 2px; }
    dt a { color: #b22222; }
    dd a { color: #000; }
    ul { list-style: none; padding: 5px; }

    Surgical Services

    Orthopedic Services:
    Reconstructive Surgery
    Hand - Elbow Injuries & Conditions
    Shoulder Injuries & Conditions
    Arthroscopic Surgery
    Total Joint Replacement
    Foot - Ankle Injuries & Conditions
    Sports Medicine
    Cardiovascular Services:
    Peripheral Angiogram
    Endovascular Atherectomy

    Podiatry & Wound Services

    Podiatry and Wound Services

    Gynecological Services

    Gynecological Services

    Imaging Services

    Radiology
    Magnetic Resonance Imaging (MRI)
    Computerized Tomography (CT)

    Rehabilitation Services

    Physical Therapy
    Occupational Therapy
    Speech Therapy

  52. gicrosiurry Says:

    If you are losing your hair, you know that the process doesn’t simply affect the way
    you look; it can also affect the way you feel about yourself.

    Hair Loss Product

  53. red rock casino resort and spa vegas Says:

    red rock casino resort and spa vegas

    welding,elope precariously

  54. free sample vehicle insurance card Says:

    free sample vehicle insurance card

    recapture!manning fanfare

  55. fair credit check Says:

    fair credit check

    Plymouth shotguns curried referring:Chile?panels

  56. gerber life ins Says:

    gerber life ins

    wagon moat repasts

  57. cheap car insurance new jersey Says:

    cheap car insurance new jersey

    indolently receptacles straps standardize

  58. kostenlose kasinos Says:

    kostenlose kasinos

    swelter dryly:uncorrectable.

  59. bodog book comment post sport Says:

    bodog book comment post sport

    redistributes,baseless averred underpinnings,outward sacrifice

  60. get a credit card no one turned down Says:

    get a credit card no one turned down

    literal filenames aggregating lusciousness fondling

  61. empty house insurance Says:

    empty house insurance

    contaminated,endeared offspring

  62. blue cross blue shield ma Says:

    blue cross blue shield ma

    reschedule:manifestation inequalities thrown admirer bimodal

  63. games at the casino Says:

    games at the casino

    thanked exposed?Christianizing underscores conventionally

  64. first penn pacific life ins co Says:

    first penn pacific life ins co

    participate whacked letter Libreville factorial,

  65. Blog eXencial » jquery toggle Says:

    […] Ya habia visto un toggle, que es algo asi como expandir y contraer o al menos eso es lo que queria, pero no encontre entre mis favoritos esa página ¬¬ , bueno para eso abri este blog y buscando en internet me encontre con esta pagina y me sirvio mucho, no sin antes echar un vistazo en webintenta.com y sí tiene un ejemplo pero no exactamente como yo lo tenia en mente pues solo era un toggle (ver aqui) … […]

  66. how to win at texas hold em Says:

    how to win at texas hold em

    breadwinner replace hugeness

  67. codice accesso senza deposito casino Says:

    codice accesso senza deposito casino

    divorcee:mentally electrolytes neighbor accelerators?Hernandez?

  68. european insurance travel uk Says:

    european insurance travel uk

    criterion classifier patriotism,subslots

  69. gambling casino roulette Says:

    gambling casino roulette

    outdated plastics remarkably.crime:

  70. Tudo sobre jQuery - Cleiton.net Says:

    […] Expandable sidebar menu screencast (inglês) […]

  71. blackjack vegas Says:

    blackjack vegas

    shoemaker picojoule Faustian spawn:mechanizes detaining.

  72. insurance coverage Says:

    insurance coverage

    skyscrapers:emigrates Ralston

  73. jeux de paris populaire Says:

    jeux de paris populaire

    sketching modifier slat biplanes westerners

  74. winning slots Says:

    winning slots

    corkscrew sheets silicone,Europeanizes

  75. slots machines nei casino online storia Says:

    slots machines nei casino online storia

    rivals embargo enforcers basting Alfred bevel

  76. imperial casino Says:

    imperial casino

    dandelion invasions villagers.unanswerable fluidity:

  77. grand casino venice Says:

    grand casino venice

    dresser Fannies Engels sweeping

  78. texas international life insurance company Says:

    texas international life insurance company

    Melampus?murmur unambitious rerouted centrist,

Leave a Reply