我们正在构建一个为平板电脑开发的 HTML5/JavaScript 应用程序,我们希望以不同的方式在横向和纵向上布局我的屏幕。
最初,我们捕获方向变化通知,并跟踪当前方向(通常报告为 0、90、-90 或 180 度 - 请参阅这个问题)。不幸的是,不同的设备报告不同方向为“0”。该链接认为这是一个错误,但有一些证据表明这是按设计工作的 - 例如,本文表明“横向”是默认方向,并且这些设备在处于横向模式时报告方向为“0”。
接下来,我们尝试只查看实际的屏幕尺寸,假设当宽度大于高度时,我们处于横向模式。但当显示屏幕键盘时,该算法会变得混乱——显示键盘时,会返回可见区域的尺寸。严格来说,当设备处于纵向模式,但屏幕上未被键盘遮挡的部分的宽度大于高度时。
回应这个问题已经相当旧了。这仍然是最佳答案吗?有没有人有一个考虑键盘可见性的好算法?
http://jsfiddle.net/jjc39/
尝试这个:
<span id="orientation">orientation</span>
$(document).ready(checkOrientation);
$(window).resize(checkOrientation);
function checkOrientation() {
var orientation = "Portrait";
var screenWidth = $(window).width();
var screenHeight = $(window).height();
if (screenWidth > screenHeight) {
orientation = "Landscape";
}
$("#orientation").html(orientation);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)