JS和css实现检测移动设备方向的变化并判断横竖屏幕

  方法一:用触发手机的横屏和竖屏之间的切换的事件

  

复制代码 代码如下:

  window.addEventListener("orientationchange", function() {

  // 宣布新方向的数值

  alert(window.orientation);

  }, false);

  方法二:监听调整大小的改变

  

复制代码 代码如下:

  window.addEventListener("resize", function() {

  // 得到屏幕尺寸 (内部/外部宽度,内部/外部高度)

  }, false);

  css判断横竖屏幕

  

复制代码 代码如下:

  /* portrait */

  @media screen and (orientation:portrait) {

  /* portrait-specific styles */

  }

  /* landscape */

  @media screen and (orientation:landscape) {

  /* landscape-specific styles */

  }

  本地window.matchMedia方法允许实时媒体查询。我们可以利用以上媒体查询找到我们是处于直立或水平视角:

  

复制代码 代码如下:

  var mql = window.matchMedia("(orientation: portrait)");

  // 如果有匹配,则我们处于垂直视角

  if(mql.matches) {

  // 直立方向

  alert("1")

  } else {

  //水平方向

  alert("2")

  }

  // 添加一个媒体查询改变监听者

  mql.addListener(function(m) {

  if(m.matches) {

  // 改变到直立方向

  document.getElementById("test").innerHTML="改变到直立方向";

  }

  else {

  document.getElementById("test").innerHTML="改变到水平方向";

  // 改变到水平方向

  }

  });