Сейчас для изменения того или иного свойства, к примеру, простого добавления или удаления класса HTML тега при той или иной ширине окна браузера использую такую конструкцию:
$( window ).resize(function () {
var bodyWidth = $('body').width();
if (bodyWidth < 500) {
$('h1').removeClass('big');
$('h1').addClass('min');
} else {
$('h1').removeClass('min');
$('h1').addClass('big');
}
});
Мне кажется, что это неправильный подход, но пока приходится выкручиваться именно таким образом. При каждом изменении ширины окна браузера рассчитывается ширина body и применяются методы/свойства в логических условиях. Следуя этому примеру, при многократном изменении ширины браузера в пределах от 0 до 500px, первое условие все равно так или иначе будет каждый раз срабатывать.
Я даже не знаю как сформулировать запрос к ПС правильно по этой теме, чтобы не тревожить вас. Суть вопроса/проблемы заключается в том, чтобы "уловить" конкретный момент перехода от одной ширины к другой и применить условие только единожды при данной ширине окна браузера, т.е. чтобы в пределах заданного диапазона (к примеру, до 500px) правило не срабатывало при каждом изменении ширины, даже на 1px. Я понимаю, что можно задать вложенное условие с проверкой наличия того или инога класса и получить еще большую кашу в коде и голове, но чувствую, что что-то тут не так.
P.S.
Не пишите пожалуйста о том, что в этом случае надо использовать CSS. Привел пример только лишь для наглядности и понимания сути проблемы.