我使用 Phonegap 和 jQuery Mobile 设计了一个应用程序。固定页脚正常工作,直到我单击下拉菜单或文本字段,这导致页脚从 View 中消失 (Android 4.0) 或移动到 View 中间 (Android 2.2 Galaxy Tab)。有什么建议吗?
Phonegap 版本:Cordova 2.1.0
jQuery 移动版:1.2.0
这是我的代码:
<div data-role="footer" class="nav-mobilyzer" data-tap-toggle="false" data-position="fixed">
<div data-role="navbar" class="nav-mobilyzer" data-grid="d">
<h1>footer</h1>
</div>
</div>
最佳答案
我在某些设备上遇到了页脚显示的问题,而在其他设备上却没有。我发现这对我有用:
var initialScreenSize = window.innerHeight;
window.addEventListener("resize", function() {
if(window.innerHeight < initialScreenSize){
$("[data-role=footer]").hide();
}
else{
$("[data-role=footer]").show();
}
});
编辑:
但是方向改变呢?
var portraitScreenHeight;
var landscapeScreenHeight;
if(window.orientation === 0 || window.orientation === 180){
portraitScreenHeight = $(window).height();
landscapeScreenHeight = $(window).width();
}
else{
portraitScreenHeight = $(window).width();
landscapeScreenHeight = $(window).height();
}
var tolerance = 25;
$(window).bind('resize', function(){
if((window.orientation === 0 || window.orientation === 180) &&
((window.innerHeight + tolerance) < portraitScreenHeight)){
// keyboard visible in portrait
}
else if((window.innerHeight + tolerance) < landscapeScreenHeight){
// keyboard visible in landscape
}
else{
// keyboard NOT visible
}
});
公差导致横向高度与纵向宽度的计算不准确,反之亦然。
关于android - jQuery Mobile 固定页脚在键盘出现时移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13097663/