JS 如何获取和监听屏幕方向的改变?

JavaScript022

JS 如何获取和监听屏幕方向的改变?,第1张

大概写一下:

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

代码如下:

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

// 宣布新方向的数值

alert(window.orientation)

}, false)

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

代码如下:

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

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

}, false)

css判断横竖屏幕

代码如下:

@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="改变到水平方向"

// 改变到水平方向

}

})

利用scroll 事件来监听。

当用户滚动指定的元素时,会发生 scroll 事件。

scroll 事件适用于所有可滚动的元素和 window 对象(浏览器窗口)。

scroll() 方法触发 scroll 事件,或规定当发生 scroll 事件时运行的函数。