使用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 相关文章推荐
优化Jquery,提升网页加载速度
Nov 14 Javascript
JQuery教学之性能优化
May 14 Javascript
手机号码,密码正则验证
Sep 04 Javascript
利用AngularJs实现京东首页轮播图效果
Sep 08 Javascript
关于foreach循环中遇到的问题小结
May 08 Javascript
jQuery条件分页 代替离线查询(附代码)
Aug 17 jQuery
基于vue 动态加载图片src的解决方法
Feb 05 Javascript
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
Angular7中创建组件/自定义指令/管道的方法实例详解
Apr 02 Javascript
js实现随机8位验证码
Jul 24 Javascript
Vue用mixin合并重复代码的实现
Nov 27 Vue.js
简单聊聊Vue中的计算属性和属性侦听
Oct 05 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
关于时间计算的结总
2006/12/06 PHP
随时给自己贴的图片加文字的php代码
2007/03/08 PHP
PHP对接微信公众平台消息接口开发流程教程
2014/03/25 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
jQuery调用WebService的实现代码
2011/06/19 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
JS实现根据出生年月计算年龄
2014/01/10 Javascript
JavaScript多线程详解
2015/08/12 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
nginx配置React静态页面的方法教程
2017/11/03 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
Python Matplotlib库安装与基本作图示例
2019/01/09 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
HTML5 拖放(Drag 和 Drop)详解与实例代码
2017/09/14 HTML / CSS
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
合同专员岗位职责
2013/12/18 职场文书
仓库管理员岗位职责
2014/03/19 职场文书
《草原的早晨》教学反思
2014/04/08 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
基于Python编写简易版的天天跑酷游戏的示例代码
2022/03/23 Python