使用JS判斷移動(dòng)端手機(jī)橫豎屏狀態(tài)
禁用用戶自動(dòng)縮放功能:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
判斷橫豎屏狀態(tài)有兩種方法:css判斷、js判斷
(一)、css判斷橫屏還是豎屏
1、寫(xiě)在同一個(gè)css文件中
@media screen and (orientation: portrait) { /*豎屏 css*/ } @media screen and (orientation: landscape) { /*橫屏 css*/ }
根據(jù)橫豎屏設(shè)置大小時(shí),正常頁(yè)面尺寸常規(guī)書(shū)寫(xiě)即可,橫屏樣式單獨(dú)設(shè)置。即只需在原有樣式基礎(chǔ)上添加橫屏樣式即可,
@media screen and (orientation: landscape) { /*橫屏 css*/ }
當(dāng)用戶橫屏?xí)r加載橫屏樣式,豎屏?xí)r取消橫屏樣式即加載默認(rèn)樣式。
2、分開(kāi)寫(xiě)在兩個(gè)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判斷橫豎屏是時(shí)時(shí)的可無(wú)縫銜接,即橫屏加載橫屏樣式,豎屏加載豎屏樣式,
(二)js判斷橫屏還是豎屏
//判斷手機(jī)橫豎屏狀態(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類(lèi)名下修改原默認(rèn)樣式,可正常使用,缺點(diǎn)是必須有橫豎屏的切換狀態(tài)才會(huì)觸發(fā)。
如果用戶默認(rèn)是橫屏狀態(tài)時(shí)不會(huì)觸發(fā)橫屏條件判斷,只有用戶從橫屏轉(zhuǎn)為豎屏或者從豎屏轉(zhuǎn)為橫屏?xí)r才會(huì)觸發(fā)相應(yīng)條件判斷。
沒(méi)有切換狀態(tài)時(shí)會(huì)不執(zhí)行任何條件判斷,此處不如css判斷橫豎屏全面。
總結(jié)
以上所述是小編給大家介紹的使用JS判斷移動(dòng)端手機(jī)橫豎屏狀態(tài),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
javascript的alert box在java中如何顯示多行
這篇文章主要介紹了javascript的alert box在java中如何顯示多行,需要的朋友可以參考下2014-05-05Js Jquery創(chuàng)建一個(gè)彈出層可加載一個(gè)頁(yè)面
Js Jquery創(chuàng)建一個(gè)彈出層,當(dāng)加載一個(gè)頁(yè)面進(jìn)彈出層時(shí)出現(xiàn)亂碼,示例代碼如下,大家可以參考參考2014-05-05extjs 04_grid 單擊事件新發(fā)現(xiàn)
EXTJS GRID 中單擊行和單元格獲得行或者單元格的內(nèi)容(數(shù)據(jù)),本文將整理此功能的應(yīng)用,需要了解的朋友可以參考下2012-11-11關(guān)于layui時(shí)間回顯問(wèn)題的解決方法
今天小編就為大家分享一篇關(guān)于layui時(shí)間回顯問(wèn)題的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09Js和JQuery獲取鼠標(biāo)指針坐標(biāo)的實(shí)現(xiàn)代碼分享
這篇文章主要介紹了Js和JQuery獲取鼠標(biāo)指針坐標(biāo)的實(shí)現(xiàn)代碼分享,本文直接給出實(shí)現(xiàn)的代碼,需要的朋友可以參考下2015-05-05bootstrap table 表格中增加下拉菜單末行出現(xiàn)滾動(dòng)條的快速解決方法
這篇文章主要介紹了bootstrap table 表格中增加下拉菜單末行出現(xiàn)滾動(dòng)條的解決方法,需要的朋友可以參考下2017-01-01JavaScript動(dòng)態(tài)插入CSS的方法
這篇文章主要介紹了JavaScript動(dòng)態(tài)插入CSS的方法,兩個(gè)步驟就可以實(shí)現(xiàn)JavaScript動(dòng)態(tài)插入CSS2015-12-12JavaScript實(shí)現(xiàn)非常簡(jiǎn)單實(shí)用的下拉菜單效果
這篇文章主要介紹了JavaScript實(shí)現(xiàn)非常簡(jiǎn)單實(shí)用的下拉菜單效果,通過(guò)定義顯示及隱藏菜單項(xiàng)及鼠標(biāo)事件調(diào)用該函數(shù)實(shí)現(xiàn)下拉菜單功能,需要的朋友可以參考下2015-08-08