使用JS判断移动端手机横竖屏状态

 更新时间:2018年07月30日 09:49:17   作者:小蜜蜂mycc  
本文通过js和cas代码分别给大家介绍了移动端判断手机横竖屏状态的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

禁用用户自动缩放功能:

<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判断移动端手机横竖屏状态,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • js实现微信聊天界面

    js实现微信聊天界面

    这篇文章主要为大家详细介绍了js实现微信聊天界面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • JS+canvas五子棋人机对战实现步骤详解

    JS+canvas五子棋人机对战实现步骤详解

    这篇文章主要介绍了JS+canvas五子棋人机对战实现步骤详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • JavaScript动态添加事件之事件委托

    JavaScript动态添加事件之事件委托

    动态添加事件实质就是指js中的事件委托。本文给大家介绍JavaScript动态添加事件之事件委托的相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧
    2016-07-07
  • 在 JavaScript 中保留小数点后两位的方法

    在 JavaScript 中保留小数点后两位的方法

    在 JavaScript 中,有多种方法可以保留小数点后两位,本文给大家分享比较常用的方法,文末给大家介绍了实现数据格式化保留两位小数的多种方法,感兴趣的朋友一起看看吧
    2023-10-10
  • JS随机密码生成算法

    JS随机密码生成算法

    这篇文章主要为大家详细介绍了JS随机密码生成算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • 浅析Javascript中“==”与“===”的区别

    浅析Javascript中“==”与“===”的区别

    这篇文章主要介绍了浅析Javascript中“==”与“===”的区别,非常的全面,这里推荐给小伙伴们
    2014-12-12
  • layer实现关闭弹出层刷新父界面功能详解

    layer实现关闭弹出层刷新父界面功能详解

    这篇文章主要介绍了layer实现关闭弹出层刷新父界面功能,结合实例形式分析了使用layui的layer在关闭弹出层时刷新父界面的常用实现技巧与相关操作注意事项,需要的朋友可以参考下
    2017-11-11
  • 简单的渐变轮播插件

    简单的渐变轮播插件

    本文主要介绍了简单的渐变轮播插件,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 微信小程序如何调用json数据接口并解析

    微信小程序如何调用json数据接口并解析

    这篇文章主要介绍了微信小程序如何调用json数据接口并解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-06-06
  • js 倒计时(高效率服务器时间同步)

    js 倒计时(高效率服务器时间同步)

    首先说一下,为什么要服务器时间同步, 因为服务器时间和本地电脑时间存在一定的时间差。有些对时效性要求非常高的应用,例如时时彩开奖,是不能容忍这种时间差存在的
    2017-09-09

最新评论