jQuery $(window).resize (); écouteur d'événements équivalent, qui ne démarre que sur un changement d'axe spécifié?

je cherche un écouteur d'événements, ce qui fonctionne comme jQuery .redimensionner (), mais ne se déclenche que lorsque l'objet redimensionné (en parlant de la fenêtre) est redimensionné dans l'axe x, ou les deux, mais pas seulement dans l'axe Y. - Donc en gros, il n'écoutera que les événements redimensionnés de la largeur.

14
demandé sur kguest 2014-01-08 12:45:49

3 réponses

Vous pouvez enregistrer la largeur du navigateur sur une fenêtre de chargement variable. Exemple:

var w = 0;

$( window ).load( function(){

   w = $( window ).width();

});

$( window ).resize( function(){

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

    //Do something

    w = $( window ).width();

    delete w;

  }

});
35
répondu edonbajrami 2015-07-07 10:08:58

Que Diriez-vous d'utiliser comme ça?

var w = $(window).width();
$(window).resize(function(){
  if ($(window).width()==w) return; 
  w = $(window).width();
  // ... your code
});
3
répondu Bhojendra Rauniyar 2014-01-08 09:06:42

Vous pouvez utiliser:

$(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
répondu Milind Anantwar 2014-01-08 08:51:12