2012-05-28 170 views
5

我试图使用jQuery UI做全屏对话框。jQuery ui全屏对话框

我通过AJAX加载的一些内容,并将结果填入对话框:

function openResource(id) { 
    $.ajax({ 
    url  : "", 
    type  : 'post', 
    dataType : 'html', 
    data : { 
     idRes: id 
    }, 
    success : function(response) { 
     $("#popupRecurso") 
     .html("<div style='float:right; cursor: pointer;' onclick='$(\"#popupRecurso\").dialog(\"destroy\");'>fechar</div>" + response); 

     $("#popupRecurso").dialog({ 
     title  : '', 
     bgiframe : true, 
     position : 'center', 
     draggable : false, 
     resizable : false, 
     dialogClass : 'dialogRecurso', 
     width  : $(window).width(), 
     height  : $(window).height(), 
     stack  : true, 
     zIndex  : 99999, 
     autoOpen : true, 
     modal  : true, 
     open  : function() { 
      $(".ui-dialog-titlebar").hide(); 
     }, 
     error : function(err) { 
      alert(err); 
     } 
     }); 
    } 
    }); 
} 

不幸的是,该对话框不会出现在中心和不正确的尺寸。 有没有人有过同样的问题?

感谢

+1

我认为float属性可以与位置冲突,在这里。你能删除它吗?如果没有更完整的示例(html + css,请试试jsFiddle),我无法帮到你。 – BiAiB

+0

@BiAiB,即使没有任何HTML,问题仍然存在... – jose

+0

'dialogRecurso'类中的任何CSS? – DarthJDG

回答

1

我想看到这个jfiddle得到更好的了解可能影响此的任何变量的差异。尝试删除对话框属性的“宽度”和“高度”设置,并将宽度为100%和高度为100%的CSS属性添加到要调用对话框内容的容器中。 “#popupRecurso”。这样对话属性不会覆盖它,并且它随着任何大小的DOM变化事件而改变。我目前在公司工作很多,并且有类似的问题。我喜欢将CSS属性设置为宽度:%120,高度:120%。通过这种方式,即使用户放大或缩小,您正在查找的对话功能仍然保持真实。希望这会帮助你。快乐的编码!