2013-07-25 46 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调用,因为第一个用于演示目的,您的只是启动演示功能。