2013-07-25 44 views
0

我正在使用jQuery ProcessBar [自定義標籤版本]。我正在做,所以我可以檢查裏面的值。我關心顯示條的百分比和文本。我可以從函數內部更改這些值。注意「進度(15);」和「progressLabel.text(」text「);」從外部函數設置jQuery函數變量

我想從我的身體中改變這些。我怎樣才能做到這一點?

我對代碼也有點困惑,因爲最初這是一個完整的功能。這意味着他們建立了炫耀。所以當你運行這個頁面時,它會自動從0到100%完成。我的目標是控制它。

$(function() 
{ 
    var progressbar = $("#progressbar"), 
    progressLabel = $(".progress-label"); 

    progressbar.progressbar(
    { 
     value: false, 
     change: function() 
     { 
      progressLabel.text(progressbar.progressbar("value")); 
     }, 
     complete: function() 
     { 
      progressLabel.text("Complete!"); 
     } 
    }); 

    function progress(val) 
    { 
     progressbar.progressbar("value", val); 

     if (val < 99) 
     {  
      setTimeout(progress, 100); 
     } 
    } 

    progress(15); 
    progress(20); 
    progress(99); 
    progressLabel.text("text"); 
    setTimeout(progress, 3); 
}); 

現在我想:

$('#progressbar').progressLabel.text('text'); 

值得一提的是,我是很新的jQuery的。

回答

1

你非常接近。然而,你想要做的是將一個參數傳遞給進度函數,但它不使用任何參數。修改功能看起來像這樣:

function progress (newValue) { 
    progressbar.progressbar("value", newValue); 
} 

然後你把任意值這樣的:

progress(15); 
progress(20); 
progress(90); 
// Change the label 
progressLabel.text("text"); 
progress(99); 
// Progress label will automatically change to "Complete!" 
progress(100); 

這些將立即運行,所以你需要通過線路將它們註釋掉線並重新加載該頁面看到一個區別。

我也刪除了兩個setTimeout調用,因爲第一個用於演示目的,您的只是啓動演示功能。