jQuery: как создать ProgressBar из заданной разметки - PullRequest
0 голосов
/ 16 июля 2009

Поэтому я использую плагин ProgressBar JQuery (http://t.wits.sg/misc/jQueryProgressBar/demo.php) для создания статических индикаторов прогресса.

Чего я хочу добиться, так это разметки:

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

создать индикатор выполнения с максимальным значением 100 и текущим значением 10. Я использую метод html (), чтобы получить содержимое диапазона, а затем split (), чтобы получить два числа:

$(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], это правильный синтаксис?

Ответы [ 2 ]

1 голос
/ 16 июля 2009

Попробуйте это:

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

Нет ничего плохого в использовании переменной для разделения. Это на самом деле экономит ваш звонок.

1 голос
/ 16 июля 2009

как насчет:

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

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

Я предположил, что у вас есть только один индикатор на странице. если это так, это должно сработать, в противном случае, попробуйте и посмотрите, работает ли это на самом деле, чтобы сделать индикатор выполнения на основе значений 1-го индикатора выполнения, тогда мы можем работать оттуда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...