文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
mobile设备的横竖屏切换检测
orientationchange Event
我们可以选择在window对象上监听orientationchange
属性。比如:
// Listen for orientation changes
window.addEventListener("orientationchange", function() {
// Announce the new orientation number
alert(window.orientation);
alert(window.outerWidth);
alert(innerWidth);
}, false);
window.orientation的取值:
- 0: portrait
- 90: landscape rotated to the left
- -90: landscape rotated to the right
- 180: portrait, ipad下才能取到
resize Event
设备旋转的时候,window的resize事件也是被触发的。判断的方法是:
- outerWidth, outerHeight: 检测是point
- innerWidth, innerHeight: 检测的是pixel
window.matchMedia
这是一段JS代码,可以查询对应的css媒体查询语句是否匹配。
// Find matches
var mql = window.matchMedia("(orientation: portrait)");
// If there are matches, we're in portrait
if(mql.matches) {
// Portrait orientation
} else {
// Landscape orientation
}
// Add a media query change listener
mql.addListener(function(m) {
if(m.matches) {
// Changed to portrait
}
else {
// Changed to landscape
}
});
Media Query
使用css媒体查询:
/* portrait */
@media screen and (orientation:portrait) {
/* portrait-specific styles */
}
/* landscape */
@media screen and (orientation:landscape) {
/* landscape-specific styles */
}
参考资料
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论