Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在N秒内统一更新jQueryUI进度条_Jquery_Jquery Ui_Progress Bar_Settimeout - Fatal编程技术网

在N秒内统一更新jQueryUI进度条

在N秒内统一更新jQueryUI进度条,jquery,jquery-ui,progress-bar,settimeout,Jquery,Jquery Ui,Progress Bar,Settimeout,给定一个反映秒数的变量N,我希望jQueryUI能够在这段时间内顺利地从空更新为反映完成 换句话说,我想要一个显示进度条的函数n_sec_progressbar(n){…},在n秒内,进度条从0的值一致地前进到100 在我开始自己摆弄setTimeout之前,我非常感谢已经为类似的事情提供的任何建议或方向 谢谢你的阅读 Brian我认为使用animate()(jQuery核心API)编写自己的自定义进度条会更容易。这将为加载这样的动画提供最大的控制。创建这样的函数 (function( $ )

给定一个反映秒数的变量N,我希望jQueryUI能够在这段时间内顺利地从空更新为反映完成

换句话说,我想要一个显示进度条的
函数n_sec_progressbar(n){…}
,在
n
秒内,进度条从0的
值一致地前进到100

在我开始自己摆弄
setTimeout
之前,我非常感谢已经为类似的事情提供的任何建议或方向

谢谢你的阅读


Brian

我认为使用
animate()
(jQuery核心API)编写自己的自定义进度条会更容易。这将为加载这样的动画提供最大的控制。

创建这样的函数

(function( $ ) {
    jQuery.fn.fillProgressBar = function(option){
    var settings = jQuery.extend({
        fromValue : 0,
        toValue : 0,
        interval : 1000
    },option);

    function fillProgressBar(element,initialValue,toValue,interval){
    //  console.log("out "+initialValue);
        if(initialValue<=toValue){
        /*  $j(element).progressbar({
                value : initialValue++
            });*/
            $j(element).progressbar( "value", initialValue++ );
        //  console.log(initialValue);
            setTimeout(function(){
                fillProgressBar(element,initialValue,toValue,interval);
            }, parseInt(interval/toValue));
        //  console.log("in "+initialValue);

        }
    }
    fillProgressBar(this,settings.fromValue,settings.toValue,settings.interval);
    return this;
};})( jQuery );
$j("#progressBar").progressbar({
    value:0 });

$j("#progressBar").fillProgressBar({toValue : progressBarValue,
    interval : 1000});