2010-12-21 4 views
1

変数Nを指定すると秒数が反映されますが、jQueryUI Progressbarを空にしてからその期間にわたって完了を反映するようにスムーズに更新したいと思います。言い換えればjQueryUI ProgressbarをN秒間で一様に更新する

、私は私が先に行くと私の上setTimeoutをいじる開始する前にプログレスバーを示しfunction n_sec_progressbar(n) { ... }、およびn秒以上のプログレスバーが均一に100

に0のvalueから進みたいと思います私自身は、既に行われているような何かの提案や方向性に感謝しています。

ありがとうございます。

ブライアン

答えて

1

この

(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}); 
2

私はそれだけでanimate()callback(jQueryのコアAPI)を使用して、独自のカスタムプログレスバーを書き込むことが容易になるだろうと思うだろう。そのようなローディングアニメーションのためのコントロールを与えるでしょう。

+0

として呼び出しを行います。ありがとう。 :) –