在jQuery UI模式对话框打开时执行操作

时间:2013-04-02 05:42:34

标签: jquery jquery-ui

我有一个div元素,点击它会打开一个jQuery UI模式对话框窗口。我想要做的是在模式对话框打开的持续时间内突出显示div元素(意味着更改其颜色),并在关闭对话框窗口时将其恢复为原始状态。是否可以这样做?

使用.css方法更改背景颜色并不像我想要的那样工作。我的代码:

HTML

<div id="help" class="hover">Help</div>

<div id="helpdialog" class="helpbox">
<header id="helptitle">Help</header>    
<p id="helptext">
</p>
    </div>

JS

$('#help').on('click',function() {
$('#help').css('background-color','#F0E68C');
$( "#helpdialog" ).dialog({
height: 670,
width: 570,
modal: true,
draggable: true,
resizable: false,
dialogClass: "helpbox",
buttons: { Close: function() { $(this).dialog("close");
$('#help').css('background-color',''); } },
create: function(event, ui)  
{  
$(this).parents(".ui-dialog:first").find(".ui-dialog-titlebar").css("display","none");       
$(this).parents(".ui-dialog").css("padding", 0);  
$(this).parents(".ui-dialog").css("border", '1em solid #709CB4');
$(this).parents(".ui-dialog").css("border-radius", '0.6em');    
$(this).parents(".ui-dialog:first").find(".ui-dialog-content").css("padding",0);  
}  
});
});

2 个答案:

答案 0 :(得分:2)

使用closeopen事件

$('#help').on('click', function() {

    $("#helpdialog").dialog({
        height : 670,
        width : 570,
        modal : true,
        draggable : true,
        resizable : false,
        dialogClass : "helpbox",
        buttons : {
            Close : function() {
                $(this).dialog("close");
            }
        },
        create : function(event, ui) {
            $(this).parents(".ui-dialog:first").find(".ui-dialog-titlebar")
                    .css("display", "none");
            $(this).parents(".ui-dialog").css("padding", 0);
            $(this).parents(".ui-dialog").css("border", '1em solid #709CB4');
            $(this).parents(".ui-dialog").css("border-radius", '0.6em');
            $(this).parents(".ui-dialog:first").find(".ui-dialog-content").css(
                    "padding", 0);
        },
        open : function(event, ui) {
            $('#help').css('background-color', '#F0E68C');
        },
        close : function(event, ui) {
            $('#help').css('background-color', '');
        }
    });
});

答案 1 :(得分:0)

而不是这个

$('#help').css('background-color','');

设置一些颜色

$('#help').css('background-color','#aaa');