茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    JavaScript根據(jù)CSS的Media Queries來判斷瀏覽設(shè)備的方法
    來源:易賢網(wǎng) 閱讀:861 次 日期:2016-07-01 14:33:26
    溫馨提示:易賢網(wǎng)小編為您整理了“JavaScript根據(jù)CSS的Media Queries來判斷瀏覽設(shè)備的方法”,方便廣大網(wǎng)友查閱!

    這篇文章主要介紹了JavaScript根據(jù)CSS的Media Queries來判斷瀏覽設(shè)備的方法,主要思路是通過CSS Media Queries改變一個類的某個屬性值(例如 z-index),然后用JavaScript讀取判斷,需要的朋友可以參考下

    CSS 部分

    首先隨便新建一個用來做判斷的類,然后通過 Media Queries 來對這個類的 z-index 屬性賦予不同的值。這個類僅作為 JavaScript 讀取使用,所以需要將其移出屏幕窗口,讓瀏覽者不可見以免引起意外情況。

    作為演示,下面代碼設(shè)置了四種設(shè)備狀態(tài):桌面普通版、小屏幕桌面版、平板電腦版和手機版。

    /* default state */

    .state-indicator {

      position: absolute;

      top: -999em;

      left: -999em;

      z-index: 1;

    }

    /* small desktop */

    @media all and (max-width: 1200px) {

      .state-indicator {

        z-index: 2;

      }

    }

    /* tablet */

    @media all and (max-width: 1024px) {

      .state-indicator {

        z-index: 3;

      }

    }

    /* mobile phone */

    @media all and (max-width: 768px) {

      .state-indicator {

        z-index: 4;

      }

    }

    JavaScript 判斷

    CSS 已經(jīng)就位了,那么就需要用 JavaScript 來生成了一個臨時的 DOM 對象,然后為它設(shè)置對應(yīng)的類,然后再讀取這個對象的 z-index 值。原生的寫法如下:

    // Create the state-indicator element

    var indicator = document.createElement('div');

    indicator.className = 'state-indicator';

    document.body.appendChild(indicator);

    // Create a method which returns device state

    function getDeviceState() {

      return parseInt(window.getComputedStyle(indicator).getPropertyValue('z-index'), 10);

    }

    getDeviceState() 函數(shù)返回的就是 z-index 的值,為了增強一下可讀性,可以用 switch 函數(shù)來規(guī)范輸出一下:

    function getDeviceState() {

      switch(parseInt(window.getComputedStyle(indicator).getPropertyValue('z-index'), 10)) {

        case 2:

          return 'small-desktop';

          break;

        case 3:

          return 'tablet';

          break;

        case 4:

          return 'phone';

          break;

        default:

          return 'desktop';

          break;

      }

    }

    這樣,就可以用一下代碼來判斷設(shè)備狀態(tài),然后執(zhí)行相應(yīng)的 JavaScript 代碼:

    if(getDeviceState() == 'tablet') {

      // 平板電腦下執(zhí)行的 JavaScript 代碼

    }

    這里如果你使用的是 jQuery,直接使用下面代碼就可以了:

    $(function(){

      $('body').append('<div class="state-indicator"></div>');

      function getDeviceState() {

        switch(parseInt($('.state-indicator').css('z-index'),10)) {

          case 2:

            return 'small-desktop';

            break;

          case 3:

            return 'tablet';

            break;

          case 4:

            return 'phone';

            break;

          default:

            return 'desktop';

            break;

        }

      }

      console.log(getDeviceState());

      $('.state-indicator').remove();

    });

    先創(chuàng)建,然后獲取,最后刪掉這個節(jié)點,具體的設(shè)備會在你的控制臺中輸出,可以試著拖動一下中間的邊框,然后點擊 Run。

    更多信息請查看網(wǎng)絡(luò)編程

    2026上岸·考公考編培訓報班

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)