溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用JavaScript怎么判斷移動端手機的橫豎屏狀態(tài)

發(fā)布時間:2021-06-16 15:25:17 來源:億速云 閱讀:364 作者:Leah 欄目:web開發(fā)

使用JavaScript怎么判斷移動端手機的橫豎屏狀態(tài),很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

(一)、css判斷橫屏還是豎屏

1、寫在同一個css文件中

@media screen and (orientation: portrait) {
 /*豎屏 css*/
} 
@media screen and (orientation: landscape) {
 /*橫屏 css*/
}

根據(jù)橫豎屏設(shè)置大小時,正常頁面尺寸常規(guī)書寫即可,橫屏樣式單獨設(shè)置。即只需在原有樣式基礎(chǔ)上添加橫屏樣式即可,

@media screen and (orientation: landscape) {
 /*橫屏 css*/
}

當(dāng)用戶橫屏?xí)r加載橫屏樣式,豎屏?xí)r取消橫屏樣式即加載默認樣式。

2、分開寫在兩個css中,根據(jù)橫豎屏引用不同樣式文件:

    根據(jù)橫豎屏引用不同樣式文件

橫屏:

<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判斷橫屏還是豎屏

//判斷手機橫豎屏狀態(tài):
  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類名下修改原默認樣式,可正常使用,缺點是必須有橫豎屏的切換狀態(tài)才會觸發(fā)。

如果用戶默認是橫屏狀態(tài)時不會觸發(fā)橫屏條件判斷,只有用戶從橫屏轉(zhuǎn)為豎屏或者從豎屏轉(zhuǎn)為橫屏?xí)r才會觸發(fā)相應(yīng)條件判斷。

沒有切換狀態(tài)時會不執(zhí)行任何條件判斷,此處不如css判斷橫豎屏全面。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI