2017-01-14 5 views
-1

ich ein einfaches HTML-Element, das eine Zahl, die Produktmenge enthält ...HTML/JS Wie Adjust (Count Down) Produkt Menge

<h1>Product QTY</h1> 
<div id=“prod-qty”> 
    <div> 
    <span class=“qty”>57</span> 
    <div class="smalltext">Left In Stock</div> 
    </div> 
</div> 
  1. Wie kann ich JS verwenden, diese Zahl zu verringern, indem 1 alle 15 Sekunden?
  2. Wie kann ich JS verwenden, um diese Zahl um 1-3 zufällig alle 15-30 Sekunden zu verringern?
+0

schauen Sie sich das an: http://StackOverflow.com/q/20618355/2715720 – rala

+1

Ersetzen Sie alle '" "' durch '" "'. Sie werden sonst auf einige Probleme stoßen. – Xufox

Antwort

0

sollte dieser Code tun, was Sie wollen:

<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> 

Jedes Mal, wenn die Funktion setQty aufgerufen wird, wird die Menge aktualisiert, eine randomley Menge (1-3) ist für die subtrahiert nächsten Update und den Anruf to setQty wird mit einer CallBack-Funktion in einer zufälligen Zeit (15-30 s) gestartet.

0

Sie Dies sollte einen Ausgangspunkt geben

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); 

Um zufällige Werte für die Abnahme und die Frequenz der Ausführung überprüfen Sie die reference zu erzeugen.