使用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 相关文章推荐
比较详细的关于javascript中void(0)的具体含义解释
Aug 02 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
Sep 10 Javascript
Javascript显示和隐藏ul列表的方法
Jul 15 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
Mar 30 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
Nov 09 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
May 05 Javascript
20行JS代码实现粘贴板复制功能
Feb 06 Javascript
AngularJS 事件发布机制
Aug 28 Javascript
vue中v-for通过动态绑定class实现触发效果
Dec 06 Javascript
vue实现微信二次分享以及自定义分享的示例
Mar 20 Javascript
微信小程序实现购物车代码实例详解
Aug 29 Javascript
vue封装数字翻牌器
Apr 20 Vue.js
详解如何在微信小程序中愉快地使用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在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
PHP中使用smarty生成静态文件的例子
2014/04/24 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
php表单敏感字符过滤类
2014/12/08 PHP
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
Ubuntu权限不足无法创建文件夹解决方案
2020/11/14 Python
python 实现控制鼠标键盘
2020/11/27 Python
Django数据统计功能count()的使用
2020/11/30 Python
Python截图并保存的具体实例
2021/01/14 Python
欧舒丹比利时官网:L’OCCITANE比利时
2017/04/25 全球购物
总经理驾驶员岗位职责
2013/12/04 职场文书
个人委托书如何写
2014/09/25 职场文书
文明倡议书
2015/01/19 职场文书
2015年路政工作总结
2015/05/22 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers