orientationchange 螢幕旋轉事件

admin發表於2019-02-15

由於裝置的長寬尺寸不同,和使用者檢視模式(橫向/豎向)的切換,頁面需要進行相應的調整。

所以需要檢測使用者檢視模式是否發生切換和產生何種切換,orientationChange事件即可實現此功能。

程式碼片段如下:

[JavaScript] 純文字檢視 複製程式碼
window.addEventListener("orientationchange", function(ev) {
   //code
}, false);

一旦使用者檢視模式發生切換就會觸發orientationchange。

處理函式傳遞的事件物件不會提供有價值資訊,window.orientation可以檢測當前裝置處於何種檢視模式。

window.orientation具有三個返回值:

(1).0:表示豎屏模式(portrait)。

(2).-90:裝置橫向旋轉到右側的橫屏模式(landscape)。

(3).90:裝置橫向旋轉到左側的橫屏模式(landscape)。

(4).180:裝置豎屏模式,但是倒豎著(portrait),當前暫不支援。

圖示如下:

a:3:{s:3:\"pic\";s:43:\"portal/201902/15/114232j8om1zl998hfq8zq.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
function orientationChange() {
  switch(window.orientation) {
    case 0:
      console.log("豎屏");
      break;
    case -90:
      console.log("左旋 -90");
      break;
    case 90:
      console.log("右旋 90");
      break;
    case 180:
      console.log("倒豎 180");
      break;
    };
};

addEventListener("load", function(){
  orientationChange();
  window.onorientationchange = orientationChange;
});

上面程式碼演示了此事件的簡單應用。

相關文章