2

我在调整我的应用程序中的一个页面的大小时遇到​​问题。

当我使用

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, target-densitydpi=device-dpi"/>

为了设置页面的“正常”大小,我想调整特定页面的宽度,因为它显示了更宽的图像。但是当我试图调整它时

<div date-role="page" id="organigram" style="min-width:1000px;">

或通过 CSS:

#organigram > .ui-page {
min-width: 1000px;
}

它设置了我所有页面的宽度,直到我用图像访问了这个特定的页面。当我通过页面标题中的“返回”或“主页”按钮返回时,所有尺寸都恢复正常(设备宽度),并且带有图像的页面保持新的最小宽度。然而,这种方式对我来说毫无用处。我试图只改变页面内图像的宽度,但这根本没有改变宽度。有任何想法吗?如果需要额外的代码,我会提供。提前致谢!

/edit:我找到了使用 JavaScript 的解决方法。当页面打开时,我的脚本开始覆盖整个页面

document.getElementById('organigram').innerHTML = myPageContent;

无论如何,这不是一个解决方案。

4

1 回答 1

2

jQUery Mobile 页面的问题是,当您更改一个页面尺寸时,所有页面都会更改,这是可以理解的,它们都需要适合视口。

您可以做的是仅在该页面处于活动状态时更改页面宽度。为此,您需要使用 jQuery Mobile 页面事件:

#pageId是您要修改的页面的 id。

$(document).on('pagebeforeshow', '#pageID', function(){       
    $(this).width(1000);
});

$(document).on('pagebeforehide', '#pageID', function(){       
    //Return page width to the correct size
});

如果您从未使用过 jQuery Mobile 页面事件,请查看我的其他答案,您会发现很多有用的信息:jQuery Mobile: document ready vs page events

于 2013-05-21T10:26:33.073 回答