【发布时间】:2018-03-02 12:00:30
【问题描述】:
我遇到了一个浪费越来越多时间的问题。现在我想请你们帮助我。我真的认为这不是什么大事,但我找不到解决方案:
我有两个代码 sn-ps,都非常相似:
$(function () {
$('.plus--article').on('click', function () {
var $qty = $(this).closest('form').find('input[name="sQuantity"]');
var currentVal = parseInt($qty.val());
if (!isNaN(currentVal)) {
$qty.val(currentVal + 1);
$('.change-quantity--form').submit(function (e) {
var form = this;
e.preventDefault();
var timeout = setTimeout(function () {
$.overlay.open();
form.submit();
}, 2000);
});
}
});
$('.minus--article').on('click', function () {
var $qty = $(this).closest('form').find('input[name="sQuantity"]');
var currentVal = parseInt($qty.val());
if (!isNaN(currentVal) && currentVal > 0) {
$qty.val(currentVal - 1);
window.clearTimeout(timeout);
$('.change-quantity--form').submit(function (e) {
var form = this;
e.preventDefault();
setTimeout(function () {
$.overlay.open({
closeOnClick: false
});
form.submit();
}, 2000);
});
}
});
});
我只想在单击其中一个按钮后重置超时。
【问题讨论】:
-
window.clearTimeout(超时);那里无法访问“超时”。
-
var timeout可以在$(function () {之后立即声明,然后在需要的地方使用超时变量
标签: javascript jquery settimeout reset