jquery显示瞬间对话框

时间:2011-04-28 15:56:38

标签: jquery

我有一个asp.net页面,当用户单击“保存”按钮时,数据库将在代码隐藏中更新。保存记录后,我想显示一个固定秒数(例如5)的消息或对话框,然后让它消失。或者,如果用户点击它,它就会消失。然后将它们留在原来的同一页上。

感谢。

2 个答案:

答案 0 :(得分:0)

看一下这个样本,也许会有所帮助:

if (condition == true) {
//Widen the scope of the myTimer variable
  var myTimer;

//Open a jQuery dialog, requires the jQueryUI
//Create the dialog on the fly
  $('<div id="myDialog"></div>').html('<p>Your content was saved!</p>').dialog({
    'width' : 200,
    'height' : 100,
    'modal' : true,
    'open' : function() {
    //Set a timer which will automatically close the dialog in 5 sec
      myTimer = setTimeout(function() {
      //Close then remove the dialog
        $('#myDialog').dialog('close').remove();
      }, 5000); //Close in 5000 ms (5 sec)
    },
    'close' : function() {
    //For extra security, clear the timer when the dialog is closed
      clearTimeout(myTimer);
    },
    'buttons' : {
      'Ok' : function() {
        $(this).dialog('close').remove();
      }
    }
    //Check out http://docs.jquery.com/UI/Dialog for more customize options
  });
}

我没有测试上面的代码,但 应该可以工作,如果你根据需要自定义它。

希望有所帮助,
spryno724

答案 1 :(得分:0)

回答第二个问题,如果单击任何部分,如何使整个对话框消失。只需添加另一个jQuery块:

$('#myDialog').live('click', function() {
//Close the dialog
  $(this).dialog('close').remove();

//Remove the timer
  clearTimeout(myTimer);
});

同样,我还没有测试过它,但它应该工作。

只需在上面显示的另一个更大的jQuery块之后直接添加上面的块。

希望有所帮助,
spryno724