2017-04-04 308 views
0

下面的代碼添加屏幕的寬度,以一流的.reverse添加屏幕寬度的一類,如果屏幕寬度小於960像素

var w = $(window).width(); 
$('.reverse').css('width', w); 

,但我希望它這樣做只是如果屏幕寬度小於960像素:

if ($(window).width() < 960) { 
    $('.reverse').css('width', w); 
} 

上面的代碼不起作用,您可以看一下嗎?謝謝!

回答

1

嘗試使用jQuery

$(window).resize(function(){ 
    var width = $(window).width(); 
    console.log(width); 
    if (width < 960){ 
    $('.reverse').css('width', width); 
    }; 
}); 

這樣,你不斷地檢查窗口的寬度,同時調整爲好。

+0

謝謝,它工作真棒! – Lukas

+0

@Lukas不客氣! :)) –

0
var w = $(window).width(); 
if (w < 960) { 
    $('.reverse').css('width', w); 
} 

請注意,如果需要添加事件管理,但沒有定義w

如果您添加了事件管理,請注意,因爲它會觸發很多事情,最好不要每次都強制重新流動 - 查看單獨的問題。

一個鏈接到一個可能的反跳爲resize https://www.paulirish.com/2009/throttled-smartresize-jquery-event-handler/

1

我想你調整窗口中檢查一下這個效果,所以你需要添加調整事件監聽,到DOM。

$(window).on('resize',function(){ 
    var w=$(window).width(); 
    if (w< 960) { 
     $('.reverse').css('width', w); 
    } 
    }) 
0
if ($(window).width() < 960) { 
     $('.reverse').css('width', w); 
    } 

你沒有初始化W¯¯

1

你也可以做到這一點與CSS和媒體查詢,如果你沒有使用JavaScript

@media (max-width: 960px) { 
    .reverse { 
    width: 100vw; 
    } 
} 
+0

它也可以,謝謝! – Lukas

+0

@Lukas不客氣。這樣做與JavaScript只會觸發一次(與您現有的代碼),並將不調整窗口的寬度,因爲它調整大小,或者你必須附加一個處理程序的窗口的'resize'事件,並不斷更新寬度爲視口更改。用CSS做比JS更好,假設你想讓你的元素的寬度與視口寬度一起縮放,那麼整天將這個事件監聽器附加到窗口'resize'事件上會更好。 –