0

jQuery ProcessBar [カスタム ラベル バージョン] を使用しています。中の値を確認できるように作っています。バーのパーセンテージと表示されるテキストが気になります。これらの値は関数内から変更できます。「progress(15);」に注目してください。および「progressLabel.text("text");」

これらを体の中から変えていきたいです。これどうやってするの?

もともとこれは完全な機能だったので、コードについても少し混乱しています。彼らが誇示するためにそれを構築したことを意味します。そのため、ページを実行すると、自動的に 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を初めて使用することに注意してください。

4

1 に答える 1

1

あなたはかなり近いです。ただし、あなたがやろうとしているのは、progress 関数に引数を渡すことですが、引数は使用しません。関数を次のように変更します。

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 呼び出しも削除しました。

于 2013-07-25T00:50:38.763 に答える