2009-12-02 65 views
2

我有一个jQuery UI对话框,它是Modal并显示一个弹跳效果。我使用主题背景变暗的条纹图像。 第一次打开对话框时,条纹背景也会在反弹效果期间覆盖对话框。弹跳效果完成后,对话框将变为模态并显示在条纹背景前面。 在下一次打开时,对话框立即在背景前弹起。如何在show-effect中创建jQuery UI对话框模态?

如何让对话框马上出现在背景前?

回答

2

汤姆的回答指出我正确的方向,而萤火虫是非常有用的!

对话框被包裹在其以UI \ effects.core.js 的createWrapper函数生成我添加了一个参数“z索引= 1005”一个<div class="ui-effects-wrapper">(只是要确定)那里。

所以在jQuery的用户界面,它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>'); 

不知道这是最好的方式,但它的工作原理。

+0

好的工作。一旦手风琴在动画中变得更宽时,我的情况与静止时相似。这导致页面布局跳跃。我也必须修改库源代码。不是超级干净,但我没有看到其他方式。所以不要觉得太糟糕了;-) – 2009-12-02 13:46:50

1

这听起来像直到动画之后才分配对话框的zIndex。在你的CSS试试这个:

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

对话框通常有这个CSS类,并覆盖通常具有1000 zIndex的(至少在我目前使用的版本)。如果这不起作用,请尝试找出(使用Firebug),只有在动画期间指定了其他类别,并为这些类别指定zIndex。