2017-01-19 4 views
0

Ich verwende die Beispielfortschrittsbalken in W3Schools.com gezeigt.Wie JavaScript Fortschrittsbalken an einem bestimmten Punkt zu stoppen

Wie würde ich den Fortschrittsbalken an einem festen Punkt anhalten lassen, sagen wir 90%? Ich sehe, dass es etwas mit der Breite des Balkens zu tun hat, aber ich kann nicht herausfinden, wie man es in einen festen Punkt oder sogar eine Variable ändern kann.

function move() { 
 
    var elem = document.getElementById("myBar"); 
 
    var width = 10; 
 
    var id = setInterval(frame, 10); 
 

 
    function frame() { 
 
    if (width >= 100) { 
 
     clearInterval(id); 
 
    } else { 
 
     width++; 
 
     elem.style.width = width + '%'; 
 
     document.getElementById("label").innerHTML = width * 1 + '%'; 
 
    } 
 
    } 
 
}
#myProgress { 
 
    position: relative; 
 
    width: 100%; 
 
    height: 30px; 
 
    background-color: #ddd; 
 
} 
 
#myBar { 
 
    position: absolute; 
 
    width: 10%; 
 
    height: 100%; 
 
    background-color: #4CAF50; 
 
} 
 
#label { 
 
    text-align: center; 
 
    line-height: 30px; 
 
    color: white; 
 
}
<h1>JavaScript Progress Bar</h1> 
 

 
<div id="myProgress"> 
 
    <div id="myBar"> 
 
    <div id="label">10%</div> 
 
    </div> 
 
</div> 
 

 
<br> 
 
<button onclick="move()">Click Me</button>

+0

'if (Breite> = 90)' - Obwohl ich persönlich würde das '' Element verwenden. – Gerrit0

+0

Es ist tatsächlich die Bedingung Breite> = 100 Sie können es auf 90 setzen, wenn Sie möchten – Roljhon

Antwort

0

Ändern Sie den Zustand width >= 90.

Code:

function move() { 
    var elem = document.getElementById("myBar"); 
    var width = 10; 
    var id = setInterval(frame, 10); 
    function frame() { 
    /* CHANGE THIS TO 90 */ 
    if (width >= 90) { 
     clearInterval(id); 
    } else { 
     width++; 
     elem.style.width = width + '%'; 
     document.getElementById("label").innerHTML = width * 1 + '%'; 
    } 
    } 
} 

Arbeits Beispiel: https://jsfiddle.net/mspinks/vLfhno9x/

+0

Vielen Dank! Das war eine sehr hilfreiche Antwort :) – user3258383

+0

Gern geschehen. Froh, dass es für dich funktioniert. –

Verwandte Themen