2016-11-08 2 views
1

Grundsätzlich möchte ich Bootstrap Fortschrittsbalken animieren, indem Sie die Breite von 0 bis 100%. Das einzige Problem ist, dass es nur beim ersten Versuch funktioniert. Ich möchte, dass die Animation nach dem Klicken auf das gleiche Element erneut angezeigt wird.Reanimate Bootstrap Fortschrittsbalken onclick

HTML

<div class='progress progress-striped active'> 
    <div class='progress-bar progress-bar-success'></div> 
</div> 

<button class='play'>Animate from 0 to 100%</button> 

JS

$('.play').on('click', function(){ 
    $(".progress-bar").animate({ 
    width: "100%" 
}, 500); 

}) 

CSS

.progress {height:18px} 
.progress-bar {width:0} 
.progress-bar {background-color: #5fb1e2} 

JSFiddle

Antwort

0

Probieren Sie es

var p ; 
$('.play').on('click', function(){ 
if (p) { 
    p.prependTo("body"); 
    p = null; 
    } 
    $(".progress-bar").css('width', 0); 
    $(".progress-bar").stop().animate({ 
    width: "100%" 
    }, 500, function() { 
     setTimeout(function() { 
      p = $(".progress").detach(); 
      console.log(p); 
     }, 1000) 

    }); 
    }); 

Fiddle

+0

Danke für die Antwort. Alles funktioniert einwandfrei, außer wenn der Knopf angeklickt wird, bevor der Fortschrittsbalken 100 erreicht, verschwindet er und hört auf zu arbeiten. – WebDev

+0

https://jsfiddle.net/9abm0hhy/597/ –

+0

Aktualisierte Antwort überprüfen Sie bitte, ob Sie sich für meine Antwort glücklich fühlen, akzeptieren Sie und upvote es. –

Verwandte Themen