2017-11-02 10 views
0

ウィンドウの読み込み時にクラスを削除し、幅が992ピクセルより大きい場合はサイズを変更し、992ピクセル未満の場合はクラスを追加するjQuery関数があります。jQueryでウィンドウのサイズが正しく動作しない

ただし、ウィンドウサイズを992から1010pxに増やすと、クラスは追加されたままです。 1011pxで削除されます。

jQuery(document).ready(function($){ 

$(window).on('resize', function() { 
if($(window).width() > 992) { 
    $('.bid-overlay-booking').removeClass('fancyboxID-booking'); 
} 
else{ 

    $('.bid-overlay-booking').addClass('fancyboxID-booking'); 
} 
}).resize(); 
}); 
+0

はあなただけ私が側面として、メディアクエリを使用する場合は(サイズを変更していない理由 – epascarello

+0

でメディアクエリを使用した場合、それはたくさんのきれいになるようだ)で、終わり ?明らかに最初の関数$(window).on( 'resize'、handler)は同じことを行います – user38208

+0

を影響を受けるようにjQueryを使用する必要があなたのCSS –

答えて

1

私は同じようにしばらく前に取り組んでいました。ここに私のkludgeの修正がありました。

var windowHeight = 460; 
var windowWidth = 800; 
if (document.body && document.body.offsetWidth) { 
    windowHeight = document.body.offsetHeight; 
    windowWidth = document.body.offsetWidth; 
} 
if (document.compatMode == 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) { 
    windowHeight = document.documentElement.offsetHeight; 
    windowWidth = document.documentElement.offsetWidth; 
} 
if (window.innerWidth && window.innerHeight) { 
    windowHeight = window.innerHeight; 
    windowWidth = window.innerWidth; 
} 

if(windowWidth > 992) { 
    $('.bid-overlay-booking').removeClass('fancyboxID-booking'); 
} 
else{ 

    $('.bid-overlay-booking').addClass('fancyboxID-booking'); 
} 
+0

ありがとうございます。しかし、これはウィンドウのサイズ変更で動作しません – user38208

+0

@ user38208 um、あなたはテストするウィンドウのサイズ変更イベントに入れていませんでしたか? – epascarello

+0

あなたは18pxオフです。おそらく992 + 18であれば992の価値を誤算しているでしょうか? –

関連する問題