Могу ли я вызвать функцию, когда я перестаю "изменять размер" окна?
Возможный дубликат:
Событие изменения размера JavaScript запускается несколько раз при перетаскивании маркера изменения размера
Пытался:
$(window).bind('load resize', function (e) {
console.log("resized");
});
но он писал "изменен размер" для каждого маленького движения окна. Могу ли я вызвать функцию (в этом примере, console.log()) только после завершения (остановки) изменения размера окна?
Спасибо!
2 ответа
Может быть, вы просто определяете, что изменение размера завершено, если в течение следующих 100 мс не будет нового события изменения размера. Как это:
var resizeEnd;
$(window).bind('resize', function(e) {
clearTimeout(resizeEnd);
resizeEnd = setTimeout(function() {
console.log("resized");
}, 100);
});
Изменение размера будет непрерывно срабатывать, пока окно изменяется, и не будет срабатывать, если оно не изменяется. Таким образом, у вас нет способа узнать, когда непрерывное изменение размера прекратилось, поэтому придерживайтесь логики, которая срабатывает при срабатывании события изменения размера.