JavaScript изменяет размер события, стреляющего многократно при перетаскивании изменить размер дескриптора

Поскольку для элемента существует класс scrollerItem, вы можете использовать document.querySelectorAll() с .scrollerItem в качестве запроса:

const result = document.querySelectorAll('.scrollerItem');

console.log(Array.from(result));

21
задан sleske 3 June 2015 в 14:00
поделиться

4 ответа

Одолжите некоторые идеи у решений для параллелизма управлять лавинной рассылкой событий, прибывающих из браузера.

, Например, когда Вы сначала получаете изменять размеры событие, устанавливают флаг на истинное указание, что пользователь в настоящее время изменяет размеры. Установите тайм-аут для вызова, фактические изменяют размеры обработчика событий после 1 секунды. Затем каждый раз, когда этот флаг верен, проигнорируйте изменять размеры событие. Затем в фактическом обработчике, как только все сделано и корректно, задерживает флаг ко лжи.

Тот путь Вы только обрабатываете последнее событие один раз во второй (или некоторый другой промежуток времени в зависимости от Ваших требований). Если пользовательские паузы посреди изменения размеров, это обработает. Если пользователь закончил, это обработает.

Это не могло бы подойти для Вас, но существует много других способов использовать блокировки, которые могли бы быть более полезными.

9
ответ дан 29 November 2019 в 06:11
поделиться

Как насчет некоторого кода как это:

function resizeStuff() {
 //Time consuming resize stuff here
}
var TO = false;
$(window).resize(function(){
 if(TO !== false)
    clearTimeout(TO);
 TO = setTimeout(resizeStuff, 200); //200 is time in miliseconds
});

, Который должен удостовериться, функция только изменяет размеры, когда пользователь прекращает изменять размеры.

75
ответ дан 29 November 2019 в 06:11
поделиться

Как насчет того, чтобы установить тайм-аут для того, когда пользователь приостанавливает изменение размеры? Сбросьте тайм-аут, когда изменение размеров происходит, или огонь изменять размеры обработчик событий, если тайм-аут истекает.

1
ответ дан 29 November 2019 в 06:11
поделиться

Так как это создается в jQuery, разве Вы не можете связать некоторое onComplete событие с расширением и передать функцию, которая должна быть выполнена, когда это называют?

Редактирование:

, Когда пользователь начинает изменять размеры окна, устанавливает интервал, который наблюдает размеры окна. Если размеры не изменились в период заданного времени Вашей спецификации, то можно считать изменение размеров окна "завершенным". Ваша предпочтительная функция JavaScript в этом была бы setInterval (), который принимает, что два аргумента - функция называют каждую галочку, и сколько времени каждая галочка берет в миллисекундах.

относительно того, как записать, что конкретно в платформе jQuery, ну, в общем, я не знаю достаточно о jQuery, чтобы быть в состоянии сказать Вам это. Возможно, кто-то еще может помочь Вам более конкретно, но в то же время можно рассмотреть расширение расширения jQuery, которое Вы уже связали с onComplete событием, которое работает как, я просто описал.

0
ответ дан 29 November 2019 в 06:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: