Это мой индикатор выполнения http://jsfiddle.net/vjNpj/2247/, я хочу, чтобы диапазон (процентное значение) мог измениться вместе при изменении ширины div. например, когда ширина составляет 50%, диапазон будет отображаться на 50%.
что я могу думать о attr(), но как получить его ценность?
Я пробовал это, но не работал
var percent = $('#progressbar > div').attr('width');
alert(percent);
Вот JSFIDDLE, который достигает того, что вы после
$progress_bar = $('#progressbar');
var progressbar_width = Math.floor(100 * ($progress_bar.find('div').width()) / $progress_bar.width())
$progress_bar.find('span').text(progressbar_width + '%')
Вам придется вызывать этот код каждый раз, когда вы обновляете ширину полосы выполнения.
Давайте сначала это поймем
Разница между.css(width) и.width() заключается в том, что последний возвращает значение пикселя без единицы (например, 400), в то время как первое возвращает значение с неизменными единицами (например, 400 пикселей). Метод.width() рекомендуется, когда необходимо использовать ширину элемента в математическом вычислении.
Таким образом, вы можете сделать,
alert($('#progressbar > div').css("width")); // 388
alert($('#progressbar > div').prop("width")); // 388px;
Скрипт для большего понимания
Hey width
- это атрибут, так же как value
- это атрибут, поэтому вы можете только получить ширину, а не значение ширины. И для этого я рекомендую ответить amit aggarwal.
Вам нужно сделать математический расчет для этой работы -
var percent = $('#progressbar div').width();
var Percent_Load = parseInt((percent * 100)/ $('#progressbar').width(), 10)
alert(Percent_Load);
var percent = $('#progressbar > div').width();
или
var percent = $('#progressbar > div').css('width');
alert(percent);