Я полагаю, это потому, что событие происходит снова и снова, когда вы перетаскиваете окно (в отличие от ожидания, когда вы закончите изменение размера, а затем запускаете только один раз).
Вы можете регулировать обработчик, чтобы он работал, чтобы он обновлялся только периодически при перетаскивании размера окна (скажем, каждые 500 миллисекунд).
Обычно вы используете set_timeout
для вызова функции, которая изменяет размер div. Обработчик события изменения размера только очищает тайм-аут и сбрасывает его. Как только пользователь перестанет изменять размер окна, тайм-аут, наконец, сможет работать, и экран обновится. Если пользователь выполняет очень медленное перетаскивание или делает паузу, экран может обновить «средний размер».