HTML / JS如何调整(倒计时)产品数量

时间:2017-01-14 22:43:36

标签: javascript jquery countdown

我有一个简单的html元素,其中包含一个代表产品数量的数字......

<h1>Product QTY</h1>
<div id=“prod-qty”>
  <div>
    <span class=“qty”>57</span>
    <div class="smalltext">Left In Stock</div>
  </div>  
</div>
  1. 如何使用JS每15秒将该数字减少1?
  2. 如何使用JS每15-30个随机减少1-3个数字 秒?

2 个答案:

答案 0 :(得分:0)

这应该给你一个起点

var runEvery = 15 * 1000; //seconds;
window.setInterval(function(){
    var elem = $("#prod-qty .qty");
    var decrease = 1;
    var value = +elem.text() - decrease;
    if(value <= 0) {
      value = 0;
    }
    elem.text(value);
}, runEvery);

要为减量和执行频率生成随机值,请检查reference

答案 1 :(得分:0)

此代码应该按您的要求执行:

<h1>Product QTY</h1>
<div id=“prod-qty”>
  <div>
    <span class=“qty” id="qty"></span>
    <div class="smalltext">Left In Stock</div>
  </div>  
</div>

<script>
    var qty = 57
    var qtyId = document.getElementById("qty");

    setQty(qty);

    function setQty(qty)
    {
        qtyId.innerHTML = qty;

        if (qty==0) return;

        var parts = Math.floor((Math.random() * 3) + 1);
        if (parts > qty) parts = qty;

        var msec =  Math.floor(((Math.random() * 15) + 15)*1000);

        qty -= parts;

        setTimeout(function() {
            setQty(qty);
        }, msec)
    }
</script> 

每次调用函数setQty时,数量都会更新,randomley数量(1-3)用于减去下一次更新,并且在一个randomely时间内使用callBack函数启动对setQty的调用(15- 30 s)。