我正在使用 jquery mobile 开发 phonegap 应用程序,之前发现了一个浏览 StackOverflow 的解决方案,该解决方案在初始页面和方向更改时运行良好。
我的问题是在从一个页面移动到另一个页面后出现的。它似乎调整了大小,但是否调整太多了,我想知道我是否可以做些什么来解决这个问题?
function contentHeight() {
'use strict';
var screen = $.mobile.getScreenHeight(),
header = $(".ui-header").hasClass("ui-header-fixed") ? $(".ui-header").outerHeight() - 1 : $(".ui-header").outerHeight(),
footer = $(".ui-footer").hasClass("ui-footer-fixed") ? $(".ui-footer").outerHeight() - 1 : $(".ui-footer").outerHeight(),
contentCurrent = $(".ui-content").outerHeight() - $(".ui-content").height(),
content = screen - header - footer - contentCurrent;
/* Apply calculation */
$(".ui-content").height(content);
}
这是我在此处某处找到的函数。
$(window).bind('load resize orientationchange', contentHeight);
$(document).ready(contentHeight);
$(document).on('throttledresize orientationchange pagecontainertransition', contentHeight);
这些是我正在连接的事件。
如前所述,当您第一次加载主要的初始网页时,它会按预期工作,但单击指向另一个网络文档的链接会在底部添加额外的 50-80 像素高度。
我将附上我正在处理的 CSS 和 2 个 HTML 文件,这样任何人都可以自己查看。
在此先感谢您的帮助或见解!
最佳答案
经过大量测试,我最终做的是添加:
target-densityDpi=device-dpi
到元视口(viewport)标签,然后:
data-position="fixed"
data-id="myID"
data-tap-toggle="false"
到页脚本身。这解决了所有缩放问题(即使在改变方向时),并解决了当您点击任何类型的焦点元素(例如选择菜单)时页脚会跳起来的问题。
关于页面更改后 jQuery Mobile 不调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37703630/