Relocate click action to bind('hashchange') function

Relocate click action to bind('hashchange') function

How do I replicate this click action within a bind('hashchange') function ?

  1. $("#menu > li > a").click(function() {
  2. $("#menu > li > a.expanded")
  3. .not(this)
  4. .toggleClass("expanded")
  5. .toggleClass("collapsed")
  6. .find("+ ul")
  7. .slideToggle("medium");
  8. $(this)
  9. .toggleClass("expanded")
  10. .toggleClass("collapsed")
  11. .find("+ ul")
  12. .slideToggle("medium");
  13. });

Trying to relocate it within this code, so that when clicking back | forward within a browser, the menu changes accordingly to highlight the current page.

  1. $(window).bind('hashchange', function(){
  2.     
  3.         newHash = window.location.hash.substring(1); /* remove first character (#) */
  4. if (newHash) {
  5. $("menu > li > a").not("#menu > li > a[href="+newHash+"]").toggleClass("expanded").toggleClass("collapsed").find("+ ul").slideToggle("medium");
  6. $("menu > li > a[href="+newHash+"]").toggleClass("expanded").toggleClass("collapsed").find("+ ul").slideToggle("medium");
I've tried the code above on line 7 & 8, but it closes the main nav when clicking on a second secondary nav item.
        • Topic Participants

        • mike