jQuery UI模式对话框覆盖淡出
jQuery UI modal dialog overlay fade out
是否可以在jQuery UI模式对话框覆盖上应用淡出效果?问题是,当模式对话框关闭时,覆盖div会被破坏,从而阻止任何类型的动画。这是我的代码,如果覆盖div没有在关闭时被销毁,它就会工作。
$("#edit-dialog-box").dialog(
{
autoOpen: false,
modal: true,
width: "30em",
show: "fade",
hide: "fade",
open: function()
{
$(".ui-widget-overlay").hide().fadeIn();
},
close: function()
{
$(".ui-widget-overlay").fadeOut();
}
});
演示:http://jsfiddle.net/276Ft/2/
$('#dialog').dialog({
autoOpen: true,
modal: true,
width: '100px',
height: '100px',
show: 'fade',
hide: 'fade',
open: function () {
$('.ui-widget-overlay', this).hide().fadeIn();
$('.ui-icon-closethick').bind('click.close', function () {
$('.ui-widget-overlay').fadeOut(function () {
$('.ui-icon-closethick').unbind('click.close');
$('.ui-icon-closethick').trigger('click');
});
return false;
});
}
});
我建议不要将fadeOut覆盖绑定到"closethick"关闭事件
该解决方案在所有情况下都有效,例如,如果您使用"取消"按钮,或者由于其他按钮,对话框在执行其他操作后自行关闭:
$('#dialog').dialog({
autoOpen: true,
modal: true,
width: '100px',
height: '100px',
show: 'fade',
hide: 'fade',
open: function () {
$('.ui-widget-overlay', this).hide().fadeIn();
},
beforeClose: function(event, ui){
// Wait for the overlay to be faded out to try to close it again
if($('.ui-widget-overlay').is(":visible")){
$('.ui-widget-overlay').fadeOut(function(){
$('.ui-widget-overlay').hide();
$('.ui-icon-closethick').trigger('click');
});
return false; // Avoid closing
}
}
});
相关文章:
- 在循环中分配json值时,值被覆盖
- 音频控件在mouseover上显示,在mouseout上淡出
- 谷歌地图固定位置覆盖
- 只覆盖箭头键滚动事件
- Javascript将图像src更改为淡入淡出
- JQuery覆盖不更改单选选项
- css(或jQuery)悬停时淡入淡出
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 将淡入淡出添加到“我的身体背景滑块”
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- 传单中如何在更改基层时启用/禁用覆盖层
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- HTML/CSS-用于拖放的全页面覆盖
- 让javascript知道epub3电子书中何时播放媒体覆盖
- 覆盖函数中的函数
- 多重潜水淡入淡出打开
- jQuery UI模式对话框覆盖淡出
- 如果你的鼠标没有,你如何使覆盖淡出'不要动
- SEO友好的HTML5视频(视频.js)介绍与覆盖淡出
- JQUERY图像覆盖渐变in()在鼠标悬停时淡入淡出