Я ищу прослушиватель событий, что работает как jQuery.resize(), но срабатывает только при изменении размера объекта (говорящего о окне) по оси x или обоим, но не только по оси y. - Таким образом, в основном он будет слушать только события изменения размера.
JQuery $(window).resize(); эквивалентный прослушиватель событий, который только срабатывает при изменении указанной оси?
Ответ 1
Вы можете сохранить ширину браузера при загрузке окна в переменной. Пример:
var w = 0;
$( window ).load( function(){
w = $( window ).width();
});
$( window ).resize( function(){
if( w != $( window ).width() ){
//Do something
w = $( window ).width();
delete w;
}
});
Ответ 2
Как насчет того, чтобы использовать это?
var w = $(window).width();
$(window).resize(function(){
if ($(window).width()==w) return;
w = $(window).width();
// ... your code
});
Ответ 3
Вы можете использовать:
$(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
}
});
Ответ 4
Я только что выпустил библиотеку JavaScript, чтобы упростить это.
https://github.com/adjohnson916/jquery-resize-dimension
Сообщите мне, если у вас есть вопросы!