点击后的setTimeout - 如何只获得最后一次迭代

时间:2018-01-13 14:32:25

标签: jquery ajax settimeout

Heloo,我已经厌倦了如何使用购物车上的产品柜台调用ajax。

我在这里创建了一个简单的示例:https://jsfiddle.net/s77j79nn/7/

问题是当我想从数量“1”传递到qunatity ex。 “7”我在文档窗口中收到6个警报,相当于6个ajax请求。我希望设置超时会解决这个问题,但不是。

我希望在2-3秒后只获得最后一个数量变量,如果现场有人会检查数量从1到8,他的浏览器只会调用一个数据库请求。

有人可以解决我的问题吗?谢谢!

$(".iteration").on("click", function() {

  var quantity = $(".cart-product .counter-label").text(); 
  var pricee = $(".single-price").text();  

  if( $(this).hasClass("plus") ) {
    if ( quantity != 9 ) {
      quantity++;
      $(this).parent().find(".counter-label").text(quantity);

      setTimeout(function(){

        // CALL AJAX HERE

        $(".price-value").text((quantity * pricee).toFixed(2));
        alert(quantity);
      },2000);    
    }  
  }
  if( $(this).hasClass("minus") ) {
    if ( quantity != 1 ) {
        quantity--;
        $(this).parent().find(".counter-label").text(quantity);
    }
  } 
});

1 个答案:

答案 0 :(得分:0)

您可以存储超时ID,如果再次按下加号按钮则取消它。像这样:

x1 = input('0.0')
x2 = input('5.6')
y1 = input('2.3')
y2 = input('6.6')

slope = (y2-y1 / x2-x1)

print("The Slope is ")

包含上述更改后,这是您的jsfiddle