2013-04-02 47 views
0

我有一个div元素,点击它可以打开一个jQuery UI模式对话窗口。我想要做的是在模式对话框打开期间突出显示div元素(意思是改变它的颜色),并在关闭对话框窗口时将其恢复到原始状态。是否有可能这样做?在jQuery UI模式对话框打开时执行动作

使用.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

使用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', ''); 
     } 
    }); 
}); 
+0

我试过了,没有工作:/ – Ronophobia

+0

在CSS中,我的#help div的背景颜色设置为#E2ECEB。我可以在关闭对话框时改变它的颜色,而不是在它打开的时候。 – Ronophobia

+0

似乎在这里工作很好http://plnkr.co/edit/mpgIr5DGzv2RGYaJV7JW?p=preview –

0

取而代之的是

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

设置一些色彩

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

没有好,这不是problem.The颜色不会更改为#F0E68C要么同时对话框打开。它只是保持其默认颜色。页面的其余部分按预期变暗,但我希望在屏幕上打开对话框时保持#help div的颜色。 – Ronophobia