使用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 相关文章推荐
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
Mar 25 Javascript
Javascript 按位取反运算符 (~)
Feb 04 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
Jun 07 Javascript
js计算文本框输入的字符数
Oct 23 Javascript
JS实现在状态栏显示打字效果完整实例
Nov 02 Javascript
javascript cookie基础应用之记录用户名的方法
Sep 20 Javascript
Node.js实现文件上传的示例
Jun 28 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
Sep 05 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
Oct 09 Javascript
JavaScript 正则命名分组【推荐】
Jun 07 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
Aug 12 Javascript
微信小程序图片右边加两行文字的代码
Apr 23 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与MySQL交互使用详解
2006/10/09 PHP
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
10个基于Jquery的幻灯片插件教程
2010/10/29 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
2016/05/19 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
Vue组件化开发思考
2018/02/02 Javascript
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
vue微信分享插件使用方法详解
2020/02/18 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
Python contextlib模块使用示例
2015/02/18 Python
Python中join和split用法实例
2015/04/14 Python
介绍Python中的fabs()方法的使用
2015/05/14 Python
Python中常见的数据类型小结
2015/08/29 Python
Python3如何解决字符编码问题详解
2017/04/23 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
Clarks其乐鞋荷兰官网:Clarks荷兰
2019/07/05 全球购物
工厂保洁员岗位职责
2013/12/04 职场文书
高一政治教学反思
2014/01/28 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
生日庆典策划方案
2014/06/02 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书