0

そのため、ProgressBar JQueryプラグイン(http://t.wits.sg/misc/jQueryProgressBar/demo.php)を使用して、静的なプログレスバーを作成しています。

私が達成したいのは、このマークアップからです。

<span class="progress-bar">10 / 100</span>

最大値が100で現在の値が10のプログレスバーを生成します。html()メソッドを使用してスパンの内容を取得し、split()を使用して2つの数値を取得しています。

$(document).ready(function() {
    $(".progress-bar").progressBar($(this).html().split(' / ')[0], {
        max: $(this).html().split(' / ')[1],
        textFormat: 'fraction'
    });
});

それはうまくいきません、何か提案はありますか?

問題は$(this).html()。split('/')[0]と$(this).html()。split('/')[1]にあると確信しています。正しい構文?

4

2 に答える 2

1

どうですか:

$(document).ready(function() {
    var pb = $(".progress-bar")[0].innerHTML.split(" / ");

    $(".progress-bar").progressBar(pb[0], {
        max: pb[1],
        textFormat: 'fraction'
    });
});

ページにプログレスバーが1つしかないことを前提としています。その場合はこれでうまくいくはずですが、そうでない場合は、これが実際に1番目のプログレスバーの値に基づいてプログレスバーを作成するように機能するかどうかを確認してください。

于 2009-07-16T15:57:03.037 に答える
1

これを試して:

$(document).ready(function() {
    $(".progress-bar").each(function(){
        values = $(this).html().split(' / ');
        $(this).progressBar(values[0], {
        max: values[1],
        textFormat: 'fraction'
        })
    });
});

分割に変数を使用しても問題はありません。それは実際にあなたに電話を節約します。

于 2009-07-16T15:58:15.750 に答える