2016-04-25 45 views
0

我試圖在進度條腳本上做一些非常簡單的事情,但是我不存在的JavaScript知識正在讓我掙扎一點。參數/變量值的JS條件?

我有什麼看起來是這樣的:

if (progress == 100) { 
    var element = document.getElementById("avatar-progress"); 
    element.classList.add("finish"); 
    setTimeout(function() { 
     $('#avatar-progress').circleProgress(
      'value', 
      0 
     ); 
    }, 250); 
       } 

if ($('#avatar-progress').circleProgress('value') == 0) { 
    var element = document.getElementById("avatar-progress"); 
    element.removeAttribute("class"); 
} 



$('#avatar-progress').circleProgress({ 
    value: 0, 
    size: 156, 
    fill: { color: "#60bcff" }, 
    emptyFill: "#ffffff", 
    thickness: 2, 
}); 

基本上就是這個進度條發生的情況是這樣的:

當載達到100%:一類是加入到#化身進展一個很酷的脈衝效果,然後,在脈衝動畫的所需延遲之後,該值被重新設置爲0,使進度條消失,並準備好下一次上傳。

但是,對於腳本的緣故,我必須等到刪除類之前,該值已返回0(如果我不再次加載脈衝動畫)。

這是我做不到的事情,我不知道怎麼寫,因爲你在我的代碼看,我嘗試了一些東西:

if ($('#avatar-progress').circleProgress('value') == 0) { 
    var element = document.getElementById("avatar-progress"); 
    element.removeAttribute("class"); 
} 

,但我的條件不工作。我正在尋找一些幫助,以正確的方式寫下這條線。謝謝您的建議

回答

1

實際上,你可以做你的setTimeout函數內部兩件事:

if (progress === 100) { 
    var element = document.getElementById('avatar-progress'); 
    element.classList.add('finish'); 
    setTimeout(function() { 
    $('#avatar-progress').circleProgress('value', 0); 
    element.classList.remove('finish'); 
    }, 250); 
} 

注:不要忘記在JavaScript中使用三等於(===),以確保您的比較是正確的。