web-dev-qa-db-ja.com

jQuery $(window).resize();指定された軸の変更でのみ発生する同等のイベントリスナー?

JQueryの.resize()のように機能するイベントリスナーを探していますが、サイズ変更されたオブジェクト(ウィンドウについて話している)がx軸、またはその両方でサイズ変更されたときにのみ発生しますが、y軸では変更されません。 -基本的に、それは幅のサイズ変更イベントのみをリッスンします。

16
Steven Palinkas

変数にウィンドウをロードしたときのブラウザの幅を保存できます。例:

var w = 0;

$( window ).load( function(){

   w = $( window ).width();

});

$( window ).resize( function(){

  if( w != $( window ).width() ){

    //Do something

    w = $( window ).width();

    delete w;

  }

});
38
edonbajrami

このように使ってみませんか?

var w = $(window).width();
$(window).resize(function(){
  if ($(window).width()==w) return; 
  w = $(window).width();
  // ... your code
});
4

以下を使用できます。

$(window).resize(function(e) {
console.log(e.old.width + " - " + $(this).width());
console.log(e.old.height + " - " + $(this).height());
if(e.old.width==$(this).width() && e.old.height!=$(this).height()){
//only vertical resize done
}else
{
 //horizontal or horizontal+ vertical resize done
}
});​
1
Milind Anantwar