You are here

function om_maximenu_active_js in OM Maximenu 8

Same name and namespace in other branches
  1. 6 inc/om_maximenu.effects.inc \om_maximenu_active_js()
  2. 7 inc/om_maximenu.effects.inc \om_maximenu_active_js()

Make menus active when submenus are active

1 call to om_maximenu_active_js()
om_maximenu_asset_loader in inc/om_maximenu.render.inc
Loads styles and js

File

inc/om_maximenu.effects.inc, line 508
OM Maximenu Effects

Code

function om_maximenu_active_js($menu = NULL, $animated_bg = 0, $tabbed = NULL) {
  $active = 'active-trail';
  $lava = 'selectedLava';
  $class = $animated_bg ? $lava : $active;
  $active_js = "\n    jQuery(function(\$) {\n      \$.each(\$('#om-menu-" . $menu . " .om-leaf'),function() {\n\n        var active = \$('.menu a', this).hasClass('active');\n        var active_trail = \$('.menu a', this).hasClass('active-trail');\n        \n        if ((active == true) || (active_trail == true)) {\n          \$('#om-menu-" . $menu . " .om-leaf').removeClass('" . $class . "');\n          \$(this).addClass('" . $class . "');\n        }\n      });\n    }); ";
  $active_tabbed_js = "\n    jQuery(function(\$) {\n      \$.each(\$('#om-menu-" . $menu . " .om-leaf'),function() {\n        var leafId = \$(this).attr('id');\n        var tabbedContentId = leafId.replace('leaf', 'tabbed-content');\n        var active_tabbed = \$('.menu a', '.om-maximenu-tabbed-content #' + tabbedContentId).hasClass('active');\n\n        var active = \$('.menu a', this).hasClass('active');\n        \n        if ((active_tabbed == true) || (active == true)) {\n          \$('#om-menu-" . $menu . " .om-leaf').removeClass('" . $class . "');\n          \$(this).addClass('" . $class . "');\n        }\n      });\n    }); ";
  if ($tabbed == NULL) {
    drupal_add_js($active_js, "inline");
  }
  else {
    drupal_add_js($active_tabbed_js, "inline");
  }
}