Есть input для указания количества покупаемого товара и рядом "стрелки" вверх/вниз для изменения его значения:
<div class="product_count">
<input type="text" value="1">
<div class="product_count_top"></div>
<div class="product_count_bottom"></div>
</div>
После клика по стрелке срабатывает trigger("change") c задержкой в 1 секунду.
$(".product_count_top").click(function() {
var input = $(this).prevAll('input');
var inputVal = Number.parseInt(input.val());
if (inputVal>0) {
var timeout;
inputVal++;
input.val(inputVal);
timeout = setTimeout(function () {
input.trigger("change");
}, 1000);
} else {
input.val("1");
}
});
Код работает правильно, но не так как я хочу. Помогите его модифицировать, чтобы при множестве кликах (в течение секунды), триггер срабатывал только 1 раз - через секунду после последнего клика.
Вот что вам нужно:
var timeout = null;
$(".product_count_top").click(function() {
var input = $(this).prevAll('input');
var inputVal = Number.parseInt(input.val());
if (inputVal>0) {
inputVal++;
input.val(inputVal);
clearTimeout(timeout);
timeout = setTimeout(function () {
input.trigger("change");
}, 1000);
} else {
input.val("1");
}
});
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Имеется массив inv класса ItemInInv, в другом классе InstantiateItem есть свойство item, которое равно ItemInInv item = inv[n]Если изменить любое свойство в объекте...
Я написал функцию, которая объединяет три строки в одну, но я только учу C# поэтому ничего не вышлоПодскажите, почему мой код не работает:
У меня есть два цикла "for"Когда записей ~100 они работают быстро, но когда записей больше 100000 скорость обработки может быть и час