Как я могу сделать JQuery UI Dialog Modal во время шоу-эффекта? - PullRequest
2 голосов
/ 02 декабря 2009

У меня есть диалоговое окно jQuery UI, оно модальное и показывает эффект отскока. Я использую тему, где фон затемнен полосатым изображением. При первом открытии диалога полосатый фон также закрывает диалог во время эффекта отскока. Как только эффект отскока закончен, диалог становится модальным и появляется перед полосатым фоном. При следующем открытии диалоговое окно сразу же отскакивает от фона.

Как я могу сделать так, чтобы диалоговое окно появлялось прямо перед фоном?

Ответы [ 2 ]

2 голосов
/ 02 декабря 2009

Ответ Тома указал мне верное направление, и Firebug был очень полезен!

Диалог обернут в <div class="ui-effects-wrapper">, который генерируется в функции createWrapper в ui \ effect.core.js Я добавил параметр "z-index = 1005" (просто чтобы быть уверенным;) там.

Так что в jquery-ui-1.7.2.custom.min.js это теперь выглядит так

createWrapper:function(f){if(f.parent().is(".ui-effects-wrapper")){return f.parent()}var g={width:f.outerWidth(true),"z-index":1005,height:f.outerHeight(true),"float":f.css("float")};f.wrap('<div class="ui-effects-wrapper" style="font-size:100%;border:none;margin:0;padding:0;z-index:1002"></div>');

Не уверен, что это лучший способ, но он работает.

1 голос
/ 02 декабря 2009

Звучит так, как будто zIndex диалога не назначен до окончания анимации. Попробуйте это в своем CSS:

.ui-dialog {
  z-index: 1002;
}

Диалоги обычно имеют этот класс CSS, а оверлей обычно имеет zIndex 1000 (по крайней мере, в версии, которую я сейчас использую). Если это не работает, попробуйте выяснить (используя Firebug), какие другие классы назначаются только во время анимации , и назначьте им zIndex.

...