2017-01-14 10 views
-1

我有一个包含代表产品质量的一些简单的HTML元素...HTML/JS如何调整(倒数)产品数量

<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个数?
+0

看看那个:http://stackoverflow.com/q/20618355/2715720 – rala

+1

用'“”'替换全部'“”'。否则你会遇到一些问题。 – Xufox

回答

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)可以减去下一个更新和呼叫setQty在随机时间(15-30 s)内以callBack函数开始。

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频率随机值。