0

私は何を間違っていますか?class="likes" の初期値に対応するバーを表示しようとしています

ここにフィドルがあります http://jsfiddle.net/sghoush1/VU3LP/40/

Jqueryは次のようになります

var baractive = $('<div class="barActive"></div');
    baractive.appendTo('.bar');

    function checkNumber() {
        var valueCurrent = parseInt($(".likes").text());

        if(isNaN(valueCurrent) || valueCurrent <= 20) {
            $(".barActive").css('height', '20px').css('width', '30px').css('background', 'green');
        }
        if(isNaN(valueCurrent) || valueCurrent <= 60) {
            $(".barActive").css('height', '20px').css('width', '80px').css('background', 'green');
        }
    }
    checkNumber();
4

2 に答える 2

0

現在、var valueCurrent = parseInt($(".likes").text());結合されたようなすべてのテキストを解析し、結果は 2010402060 になりますが、これはおそらくあなたが望むものではありません。

checkNumber 関数を次のように変更します。

function checkNumber() {
    var bars = $(".bar"),
        likes = $(".likes");

    likes.each(function (index, like) {
        var value = parseInt($(like).text(), 10),
            bar = bars.eq(index).find(".barActive");

        if (value <= 60) bar.css("width", 80);
        if (value <= 20) bar.css("width", 30);
    });
}

...そして、barActive スタイルを CSS に移動します。jsFiddle での作業例。

于 2013-04-14T04:37:43.357 に答える