Advertisement
Guest User

Accordion Menu WP

a guest
Aug 4th, 2011
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. jQuery(document).ready(function() {
  2. appendClasses();
  3. });
  4.  
  5. function appendClasses() {
  6. //level 0
  7. jQuery('li.widget_pages ul').addClass('accordion-menu');
  8. var widgetTitle0 = jQuery('li.widget_pages').attr('id');
  9. jQuery('li.widget_pages ul').attr('id', 'accordion-menu-' + widgetTitle0 + '-level0');
  10. //level 1
  11. jQuery('li.widget_pages ul ul').addClass('accordion-menu');
  12. var widgetTitle1 = jQuery('li.widget_pages').attr('id');
  13. jQuery('li.widget_pages ul ul').attr('id', 'accordion-menu-' + widgetTitle1 + '-level1');
  14. //level 2
  15. jQuery('li.widget_pages ul ul ul').addClass('accordion-menu');
  16. var widgetTitle2 = jQuery('li.widget_pages').attr('id');
  17. jQuery('li.widget_pages ul ul ul').attr('id', 'accordion-menu-' + widgetTitle2 + '-level2');
  18. //initialize
  19. initMenus();
  20. }
  21.  
  22. function initMenus() {
  23. jQuery('ul.accordion-menu ul').hide();
  24. jQuery(".current_page_item ul:first").slideDown('normal');
  25. jQuery(".current_page_item").parents("ul, li").map(function () {
  26. jQuery(this).slideDown('normal');
  27. });
  28. jQuery('ul.accordion-menu li a').click(function() {
  29. var checkElement = jQuery(this).next();
  30. var parent = this.parentNode.parentNode.id;
  31. if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
  32. if(jQuery('#' + parent).hasClass('collapsible')) {
  33. jQuery('#' + parent + ' ul:visible').slideUp('normal');
  34. }
  35. return false;
  36. }
  37. if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
  38. jQuery('#' + parent + ' ul:visible').slideUp('normal');
  39. checkElement.slideDown('normal');
  40. return false;
  41. }
  42. });
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement