Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqueryui,自动隐藏对话框_Javascript_Jquery Ui_Jquery Ui Dialog_Settimeout - Fatal编程技术网

Javascript jqueryui,自动隐藏对话框

Javascript jqueryui,自动隐藏对话框,javascript,jquery-ui,jquery-ui-dialog,settimeout,Javascript,Jquery Ui,Jquery Ui Dialog,Settimeout,我有一个动态元素,它被转换成对话框小部件。我希望它自动消失 此代码不起作用 $("<div>...</div>").dialog({ open : function(eve, ui) { var item = this; window.setTimeout(function(item) { item.dialog('close') }, 6000); } }); $(“…)。对话框({ 打开:功能(eve、ui)

我有一个动态元素,它被转换成对话框小部件。我希望它自动消失

此代码不起作用

$("<div>...</div>").dialog({
  open : function(eve, ui) {
    var item = this;
    window.setTimeout(function(item) {
      item.dialog('close')
      }, 
    6000);
  }
});
$(“…)。对话框({
打开:功能(eve、ui){
var项目=此;
设置超时(函数(项){
项对话框('关闭')
}, 
6000);
}
});

两个问题-您的选择器看起来有问题。。此外,您还试图将“item”传递给settimeout,它将覆盖您的item=this。。另外,设置item=this的意思是$(this)

 $("div").dialog({
  open : function(eve, ui) {
   var item = $(this);
     window.setTimeout(function() {
       item.dialog('close');
     }, 
     6000);
  }
});
这里有一个快捷的提琴:

用这个

$("<div id='mydialog'>...</div>").dialog({
  open : function(eve, ui) {
    window.setTimeout(function(item) {
      $('#mydialog').dialog('close');
      }, 
    6000);
  }
});
$(“…)。对话框({
打开:功能(eve、ui){
设置超时(函数(项){
$('#mydialog')。dialog('close');
}, 
6000);
}
});

下面是正在运行的演示:

尝试将项作为parm删除到最里面的函数。只需编写函数(){…}。参数掩盖了先前定义的变量项。我做了@CBroe-不工作@Godisemo-你是对的,但仍然不工作。@Yossi很高兴能帮上忙:)