使用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 相关文章推荐
checkbox 多选框 联动实现代码
Oct 22 Javascript
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
Oct 29 Javascript
javascript 用原型继承来实现对象系统
Mar 22 Javascript
jquery multiSelect 多选下拉框
Jul 09 Javascript
javascript打印输出json实例
Nov 11 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
Mar 04 Javascript
JavaScript实现页面跳转的几种常用方式
Nov 28 Javascript
JavaScript简单实现鼠标移动切换图片的方法
Feb 23 Javascript
GOJS+VUE实现流程图效果
Dec 01 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
Mar 07 Javascript
VUE+elementui面包屑实现动态路由详解
Nov 04 Javascript
JS实现时间校验的代码
May 25 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
mac下安装nginx和php
2013/11/04 PHP
PHP面向对象程序设计之类与反射API详解
2016/12/02 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
jquery 插件学习(二)
2012/08/06 Javascript
Jquery 模板数据绑定插件的使用方法详解
2013/07/08 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
vue 实现购物车总价计算
2019/11/06 Javascript
介绍Python中几个常用的类方法
2015/04/08 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
Python之Scrapy爬虫框架安装及简单使用详解
2017/12/22 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
2018/05/24 Python
500行代码使用python写个微信小游戏飞机大战游戏
2019/10/16 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
Python chardet库识别编码原理解析
2020/02/18 Python
python实现TCP文件传输
2020/03/20 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
2020/04/23 Python
python中sys模块是做什么用的
2020/08/16 Python
美国Rue La La闪购网站:奢侈品、中高档品牌限时折扣
2016/10/19 全球购物
ORACLE第二个十问
2013/12/14 面试题
硕士研究生自我鉴定范文
2013/12/27 职场文书
教师个人的自我评价分享
2014/01/02 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
领导干部对照检查材料
2014/08/24 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
2015年学校教研室主任工作总结
2015/07/20 职场文书