我正在使用 jQuery ProcessBar [自定义标签版本]。我这样做是为了检查里面的值。我关心栏的百分比和显示的文本。我可以从函数内部更改这些值。注意“进度(15);”和“progressLabel.text("text");"
我想从我的 body 里改变这些。我该怎么做?
我对代码也有点困惑,因为本来这是一个完整的功能。这意味着他们 build 它是为了炫耀。因此,当您运行该页面时,它会自动从 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 的新手。
最佳答案
你很接近。不过,您要做的是将参数传递给进度函数,但它不使用任何参数。将函数修改为如下所示:
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 调用,因为第一个用于演示目的,而您的只是启动了演示功能。
关于javascript - 从外部函数设置 jQuery 函数变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17847051/