使用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之大字符串的连接的StringBuffer 类
May 08 Javascript
js 替换
Feb 19 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
Jul 26 Javascript
JS格式化数字保留两位小数点示例代码
Oct 15 Javascript
js实现不提交表单获取单选按钮值的方法
Aug 21 Javascript
深入理解node exports和module.exports区别
Jun 01 Javascript
bootstrap警告框使用方法解析
Jan 13 Javascript
用原生JS实现简单的多选框功能
Jun 12 Javascript
详解使用angular的HttpClient搭配rxjs
Sep 01 Javascript
React Native模块之Permissions权限申请的实例相机
Sep 28 Javascript
JS实现普通轮播图特效
Jan 01 Javascript
输入框跟随文字内容适配宽实现示例
Aug 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
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
php你的验证码安全码?
2007/01/02 PHP
php 分库分表hash算法
2009/11/12 PHP
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
JavaScript对象链式操作代码(jquery)
2010/07/04 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
Vue2.0 事件的广播与接收(观察者模式)
2018/03/14 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
Python基础中所出现的异常报错总结
2016/11/19 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
Python常用编译器原理及特点解析
2020/03/23 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
UNIX文件系统分类
2014/11/11 面试题
《称象》教学反思
2014/04/25 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
嘉宾邀请函
2015/01/31 职场文书
财务工作失误检讨书
2015/02/19 职场文书
未婚证明格式
2015/06/15 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书