Browse Source

Fixes #1291 Fixes issue with nested dropdown menus appearing.

pull/1378/head
jlukic 10 years ago
parent
commit
03423f5957
1 changed files with 9 additions and 4 deletions
  1. 13
      src/definitions/modules/dropdown.js

13
src/definitions/modules/dropdown.js

@ -532,13 +532,15 @@ $.fn.dropdown = function(parameters) {
item: {
mouseenter: function(event) {
var
$currentMenu = $(this).find(selector.menu),
$currentMenu = $(this).children(selector.menu),
$otherMenus = $(this).siblings(selector.item).children(selector.menu)
;
if( $currentMenu.size() > 0 ) {
clearTimeout(module.itemTimer);
module.itemTimer = setTimeout(function() {
module.animate.hide(false, $otherMenus);
$.each($otherMenus, function() {
module.animate.hide(false, $(this));
});
module.verbose('Showing sub-menu', $currentMenu);
module.animate.show(false, $currentMenu);
}, settings.delay.show);
@ -548,7 +550,7 @@ $.fn.dropdown = function(parameters) {
mouseleave: function(event) {
var
$currentMenu = $(this).find(selector.menu)
$currentMenu = $(this).children(selector.menu)
;
if($currentMenu.size() > 0) {
clearTimeout(module.itemTimer);
@ -1047,7 +1049,7 @@ $.fn.dropdown = function(parameters) {
;
callback = callback || function(){};
module.verbose('Doing menu show animation', $currentMenu);
if( module.is.animating() || module.is.hidden($currentMenu) ) {
if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) {
if(settings.transition == 'none') {
$.proxy(callback, element)();
}
@ -1118,6 +1120,9 @@ $.fn.dropdown = function(parameters) {
}
;
callback = callback || function(){};
if($currentMenu.size() === 0) {
debugger;
}
if( module.is.visible($currentMenu) || module.is.animating($currentMenu) ) {
module.verbose('Doing menu hide animation', $currentMenu);

Loading…
Cancel
Save