使用JS判断移动端手机横竖屏状态


Posted in Javascript onJuly 30, 2018

禁用用户自动缩放功能:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

判断横竖屏状态有两种方法:css判断、js判断

(一)、css判断横屏还是竖屏

1、写在同一个css文件中

@media screen and (orientation: portrait) {
 /*竖屏 css*/
} 
@media screen and (orientation: landscape) {
 /*横屏 css*/
}

根据横竖屏设置大小时,正常页面尺寸常规书写即可,横屏样式单独设置。即只需在原有样式基础上添加横屏样式即可,

@media screen and (orientation: landscape) {
 /*横屏 css*/
}

当用户横屏时加载横屏样式,竖屏时取消横屏样式即加载默认样式。

2、分开写在两个css中,根据横竖屏引用不同样式文件:

    根据横竖屏引用不同样式文件

横屏:

<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css" rel="external nofollow" >

竖屏:

<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css" rel="external nofollow" >

备注:css判断横竖屏是时时的可无缝衔接,即横屏加载横屏样式,竖屏加载竖屏样式,

(二)js判断横屏还是竖屏

//判断手机横竖屏状态:
  window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() {
    if (window.orientation === 180 || window.orientation === 0) { 
      console.log("竖屏");
      $(".codeIg_s").removeClass('vercreen');//取消横屏样式
    } 
    if (window.orientation === 90 || window.orientation === -90 ){ 
      console.log("横屏");
      $(".codeIg_s").addClass('vercreen');//添加横屏样式
    } 
  }, false);

备注:横屏样式在vercreen类名下修改原默认样式,可正常使用,缺点是必须有横竖屏的切换状态才会触发。

如果用户默认是横屏状态时不会触发横屏条件判断,只有用户从横屏转为竖屏或者从竖屏转为横屏时才会触发相应条件判断。

没有切换状态时会不执行任何条件判断,此处不如css判断横竖屏全面。

总结

以上所述是小编给大家介绍的使用JS判断移动端手机横竖屏状态,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用正则表达式 动态创建/增加css style script 兼容IE firefox
Mar 10 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
Jul 20 Javascript
IE6下CSS图片缓存问题解决方法
Dec 09 Javascript
DIV外区域Click后关闭DIV的实现代码
Dec 21 Javascript
window.open打开页面居中显示的示例代码
Dec 27 Javascript
javascript里绝对用的上的字符分割函数总结
Jul 31 Javascript
jquery根据锚点offset值实现动画切换
Sep 11 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
js每隔两秒输出数组中的一项(实例)
May 28 Javascript
用vue写一个仿简书的轮播图的示例代码
Mar 13 Javascript
vue使用echarts图表自适应的几种解决方案
Dec 04 Vue.js
比较node.js和Deno
Apr 27 Javascript
详解如何在微信小程序中愉快地使用sass
Jul 30 #Javascript
详解JSON Web Token 入门教程
Jul 30 #Javascript
JS中Promise函数then的奥秘探究
Jul 30 #Javascript
浅析java线程中断的办法
Jul 29 #Javascript
还不懂递归?读完这篇文章保证你会懂
Jul 29 #Javascript
如何在js代码中消灭for循环实例详解
Jul 29 #Javascript
Vue-cli3项目配置Vue.config.js实战记录
Jul 29 #Javascript
You might like
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
2014/06/12 PHP
最常用的8款PHP调试工具
2014/07/06 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
python学习笔记:字典的使用示例详解
2014/06/13 Python
Python重新引入被覆盖的自带function
2014/07/16 Python
python字符串str和字节数组相互转化方法
2017/03/18 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
2018/07/06 Python
Python进度条的制作代码实例
2019/08/31 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
python实现字符串和数字拼接
2020/03/02 Python
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
法律专业实习鉴定
2013/12/22 职场文书
电力公司个人求职信范文
2014/02/04 职场文书
交通事故协议书范文
2014/04/16 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python
MongoDB使用场景总结
2022/02/24 MongoDB
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js
字节飞书面试promise.all实现示例
2022/06/16 Javascript