jquery - 放大/缩小时将 jquery 对话框保持在移动视口(viewport)的中心?

标签 jquery iphone css position jquery-ui-dialog

我正在尝试使移动视口(viewport)的 jquery 对话框中心特别是 iphone 的 safari,但是当用户尝试放大页面时,对话框会移动到页面的右下角,这使得它不再可见。

代码如下:

//-- The dialog
$("#dialog").dialog({
    modal:true,
    draggable:true,
    resizable:false,
    width:650,
    height:330,
    cache:false,
    position:'center'
}); 

//-- Make dialog center when page resize 
$(window).resize(function() {
    $(".ui-dialog-content").dialog("option", "position", "center");
}); 

这在 PC 浏览器中完美运行,但对于移动设备,它仅在页面缩小时有效。

知道怎么做吗?

最佳答案

这听起来像是 jQueryUI 的问题。

您是否尝试过这样的 CSS 替代方案:

JS

$("#dialog").dialog({
    modal:true,
    draggable:true,
    resizable:false,
    width:650,
    height:330
});

CSS

.ui-dialog {
    left: 50% !important;
    top: 50% !important;
    margin-left: -325px !important; // half 650
    margin-top: -165px !important; // half 330
}

我使用 !important 来覆盖 jQueryUI CSS 文件中定义的默认值。

关于jquery - 放大/缩小时将 jquery 对话框保持在移动视口(viewport)的中心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17143281/

相关文章:

css - HTML - DIV 内容中的换行符是否可编辑?

jquery - 如何在限制范围内修复图像?

javascript - 在网页的特定范围内滚动时显示div

jquery - 手机版导航栏

iphone - UIImagePickerControllerSourceTypeCamera 占用内存

iphone - 裁剪后的 UIButton 标题

ide - HTML 5、CSS3 支持 PHP IDE?

javascript - 使用 $.html() 时如何提高渲染性能

javascript - jQuery 删除太多字段

iphone - 我们如何从 url 下载 sqlite 数据库并将其作为 sqlite 数据库添加到我们的应用程序中?