簡體   English   中英

如何將媒體查詢添加到Jquery中

[英]How do I add media Queries into Jquery

是否可以將媒體jquery添加到您的jquery代碼中?

當我的屏幕達到800px的大小時,我需要減少“slideWidth:83”;

$(document).ready(function(){
  $('.slider4').bxSlider({
    slideWidth: 83,
    minSlides: 2,
    maxSlides: 9,
    moveSlides: 1,
    slideMargin: 15
  });
});

通過window.matchMedia在js中支持媒體查詢

這允許你創建類似的東西

var isPortrait = window.matchMedia("(orientation: portrait)");
if (isPortrait.matches){
    // Screen is portrait
}

要么

var smallScreen = window.matchMedia("(max-width: 480px)");
if (smallScreen.matches){
    // Screen is less than 480px
}

在現代瀏覽器中支持很好,並且還有一個polyfill ,但它不支持開箱即用的大小調整。

更多信息 - https://developer.mozilla.org/en-US/docs/Web/API/Window.matchMedia

不,但您可以測量窗口的當前寬度並根據以下內容配置代碼:

if ($(window).width()<768) {
   // do whatever
}

如果您需要響應,請將您的代碼綁定到window.onresize事件:

$(window).on('resize', function() {
    if ($(window).width()<768) {
        // do whatever
    }
});

你不能明確地有媒體查詢,但你可以用這個小代碼檢查窗口寬度:

function viewport() {
    var e = window, a = 'inner';
    if (!('innerWidth' in window )) {
        a = 'client';
        e = document.documentElement || document.body;
    }
    return { width : e[ a+'Width' ] , height : e[ a+'Height' ] };
}

我不記得我在哪里找到這個代碼所以我不能給予信任......

無論如何,使用window resize事件檢查寬度,如下所示:

$(window).resize(function(){
    if(viewport().width > x && viewport().width < y){
        //do something
    }
}).trigger('resize');

您可以使用Paul Irish的MatchMedia.js polyfill進行Javascript媒體查詢,但它不能在IE9及更早版本中使用。 它仍然非常有用,您可以使用不太精確的方法(如$(window).width() )有條件地處理IE。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM