使用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 相关文章推荐
Extjs在exlipse中设置自动提示的方法
Apr 07 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
Dec 06 Javascript
JavaScript window.document的属性、方法和事件小结
Oct 24 Javascript
Eval and new funciton not the same thing
Dec 27 Javascript
javascript变量作用域使用中常见错误总结
Mar 26 Javascript
用RadioButten或CheckBox实现div的显示与隐藏
Sep 21 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
Nov 22 Javascript
详解Vue.directive 自定义指令
Mar 27 Javascript
Vue代码整洁之去重方法整理
Aug 06 Javascript
JS实现简单的表格增删
Jan 16 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
Mar 13 Javascript
JavaScript如何利用Promise控制并发请求个数
May 14 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
PHP时间和日期函数详解
2015/05/08 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
Yii框架实现邮箱激活的方法【数字签名】
2016/10/18 PHP
PHP培训要多少钱
2017/06/06 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
JavaScript Event学习第六章 事件的访问
2010/02/07 Javascript
jQuery之网页换肤实现代码
2011/04/30 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
2018/02/23 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
python如何通过protobuf实现rpc
2016/03/06 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
python__name__原理及用法详解
2019/11/02 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
什么是Remote Module
2016/06/10 面试题
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
前厅收银主管岗位职责
2014/02/04 职场文书
20年同学聚会邀请函
2014/02/04 职场文书
大学新闻系应届生求职信
2014/06/02 职场文书
史上最牛辞职信
2015/05/13 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS
golang中的空slice案例
2021/04/27 Golang
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL
Java线程的6种状态与生命周期
2022/05/11 Java/Android