JS和css实现检测移动设备方向的变化并判断横竖屏幕

本文介绍使用JavaScript和CSS来检测移动设备的方向变化,并区分横屏与竖屏的方法。提供了两种JavaScript实现方案:通过监听orientationchange事件和resize事件;同时介绍了CSS媒体查询以及window.matchMedia方法的应用。
这篇文章主要介绍了JS和css实现检测移动设备方向的变化并判断横竖屏幕,本文分别给出实现代码,需要的朋友可以参考下

方法一:用触发手机的横屏和竖屏之间的切换的事件  [自测可用, chrome , 手机360浏览器, 微信浏览器 其他未测试过]

复制代码代码如下:

window.addEventListener("orientationchange", function() {

// 宣布新方向的数值

alert(window.orientation);

}, false);

 

方法二:监听调整大小的改变

复制代码代码如下:

window.addEventListener("resize", function() {

// 得到屏幕尺寸 (内部/外部宽度,内部/外部高度) 

}, false);

 

 

css判断横竖屏幕

复制代码代码如下:

/* portrait */

 

@media screen and (orientation:portrait) {

/* portrait-specific styles */

}

/* landscape */

@media screen and (orientation:landscape) {

/* landscape-specific styles */

}

 

本地window.matchMedia方法允许实时媒体查询。我们可以利用以上媒体查询找到我们是处于直立或水平视角:

复制代码代码如下:

var mql = window.matchMedia("(orientation: portrait)");

// 如果有匹配,则我们处于垂直视角

if(mql.matches) { 

// 直立方向

alert("1")

} else { 

//水平方向

alert("2")

// 添加一个媒体查询改变监听者

mql.addListener(function(m) {

if(m.matches) {

// 改变到直立方向

document.getElementById("test").innerHTML="改变到直立方向";

}

else {

document.getElementById("test").innerHTML="改变到水平方向";

// 改变到水平方向

}

});

 

转载于:https://www.cnblogs.com/zhongxia/p/5542397.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值