JavaScript实现移动端横竖屏检测

本文实例为大家分享了JavaScript实现移动端横竖屏检测的具体代码,供大家参考,具体内容如下

一、HTML方法检测

在html中分别引用横屏和竖屏样式

<!-- 引用竖屏的CSS文件 portrait.css -->   <link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css" rel="external nofollow" >   <!-- 引用横屏的CSS文件 landscape.css --> <link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css" rel="external nofollow" > 二、CSS方法检测

css中通过媒体查询方法来判断是横屏还是竖屏

/* 竖屏 */     @media screen and (orientation:portrait) {       /* 这里写竖屏样式 */     }     /* 横屏 */     @media screen and (orientation:landscape) {       /* 这里写横屏样式 */ } 三、JS方法检测

【1】orientationChange事件

苹果公司为移动 Safari中添加了 orientationchange 事件,orientationchange 事件在设备的纵横方向改变时触发

window.addEventListener("orientationchange",function(){         alert(window.orientation);     });  

【2】orientation属性

window.orientation 获取手机的横竖的状态,window.orientation 属性中有 4个值:0和180的时候为竖屏(180为倒过来的竖屏),90和-90时为横屏(-90为倒过来的横屏)

0 表示肖像模式,90 表示向左旋转的横向模式(“主屏幕”按钮在右侧),-90 表示向右旋转的横向模 式(“主屏幕”按钮在左侧),180 表示 iPhone头朝下;但这种模式至今 尚未得到支持。如图展示了 window.orientation 的每个值的含义。

【3】案例

检测用户当前手机横竖屏状态,如果处于横屏状态,提示用户 “为了更好的观看体验,请在竖屏下浏览”,否则不提示

<!DOCTYPE html> <html lang="en"> <head>   <meta charset="UTF-8">   <meta name="viewport" content="width=device-width, initial-scale=1.0">   <meta http-equiv="X-UA-Compatible" content="ie=edge">   <title>Document</title>   <style>     #box {       position: fixed;       box-sizing: border-box;       padding: 50px;       display: none;       left: 0;       top: 0;       width: 100%;       height: 100%;       background: rgba(0, 0, 0, .5);     }     #box span {       margin: auto;       font: 20px/40px "宋体";       color: #fff;       text-align: center;     }   </style> </head> <body>   <div id="box"><span>为了更好的观看体验,请在竖屏下浏览</span></div>   <script>     window.addEventListener("orientationchange", toOrientation);     function toOrientation() {       let box = document.querySelector("#box");       if (window.orientation == 90 || window.orientation == -90) {         // 横屏-显示提示         box.style.display = "flex";       } else {         // 横屏-隐藏提示         box.style.display = "none";       }     }   </script> </body> </html>

推荐阅读

    Javascript中 toFixed四舍六入方法

    Javascript中 toFixed四舍六入方法,浮点,手动,银行家,进,javascript中toFixed使用的是银行家舍入规则。银行家舍入:所谓银行家舍入法,其实

    javascript怎么隐藏元素值

    javascript怎么隐藏元素值,隐藏,元素,设置,显示,位置,属性,javascript隐藏元素值的方法:1、设置元素style属性中的display,语句如“t.style.displ

    javascript对象怎么转换成字符串

    javascript对象怎么转换成字符串,字符串,参数,对象,序列化,属性,数组,在javascript中可以使用“JSON.stringify()”方法将对象转换成字符串,其语

    javascript怎么将字母转为小写

    javascript怎么将字母转为小写,方法,字符串,函数,语法,主机,语言,javascript字母转为小写的方法:1、使用toLowerCase()函数,语法“string.toLower

    javascript怎么实现二维码

    javascript怎么实现二维码,二维码,二维码生成,下载,插件,扫描二维码,操作,javascript实现二维码的方法:1、下载qrcodejs插件;2、使用qrcode实现二

    javascript如何获取字符串长度

    javascript如何获取字符串长度,字符,获取,属性,字符串长度,字符串,输出,javascript获取字符串长度的方法:1、使用length属性按字符来获取字符串

    javascript怎么类型转换

    javascript怎么类型转换,方法,字符串,转换,转换成,类型,数字,方法:1、使用“+”运算符自动进行转换。2、使用JS内置的函数进行转换,例toString()

    javascript如何去掉空格

    javascript如何去掉空格,去除,替换,方法,删除,文本,字符串,javascript去掉空格的方法:1、通过“str.replace(/\s+/g,"");”去除所有空格;2、通

    javascript中定义数组的方法有哪些

    javascript中定义数组的方法有哪些,数组,数组名,列表,元素,语句,方法,javascript中定义数组的方法:1、使用“var 数组名=[值列表]”语句;2、使用

    Javascript怎么检查对象是否为空

    Javascript怎么检查对象是否为空,对象,方法,字符串,数组,检查,语句,方法:1、将对象转化为json字符串,判断该字符串是否为“{}”;2、使用“$.isEmpt

    javascript怎么关闭当前窗口

    javascript怎么关闭当前窗口,窗口,脚本,本页,教程,提示,关闭窗口,javascript中可以利用window对象的opener属性、open()和close()方法来关闭当