Подтвердить что ты не робот

JQuery aimate и значения свойств в процентах

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

animateBar(percentage.toFixed(2)+'%');

[ . . . ]

function animateBar(percentage)
{
    $('#innerBox').animate({width: percentage}, 3000);
}
4b9b3361

Ответ 1

Кажется, что theres ошибка с использованием процента с анимацией. http://bugs.jquery.com/ticket/10669

Я бы предложил подсчитать количество пикселей, чтобы добавить себя, что-то вроде этого может работать:

percent = 0.25;
add_width = (percent*$('#innerBox').parent().width())+'px';
$('#innerBox').animate({'width': '+='+add_width}, 3000);

Ответ 2

Это работает, если вы довольны использованием переходов CSS3:

JS:

function animateBar(percentage){
    $('#innerBox').width(percentage+'%');
}

CSS

#innerBox{transition: 3s}

Ответ 3

Это довольно старый, но этот способ работает для меня:

wthSelected = 85;
$(this).animate({
    width:wthSelected+'%'
  }, 1500); 

Также я использую jquery-1.11.2.min.js и jquery.mobile-1.4.5.min.js

Ответ 4

Попробуйте добавить текст блоков следующим образом:

function animateBar(percentage)
{
    $('#innerBox').animate({width: percentage+"px"}, 3000);
}

Ответ 5

Возможно, вы допустили до 2 десятичных точек. Вы пытались использовать целое значение вместо этого? Я не уверен, что все браузеры поддерживают плавающие проценты.

Кроме того, убедитесь, что $('#innerBox') имеет набор width для начала. Это не должен быть процент. Он просто должен быть установлен в CSS или через JS-метод.

Ответ 6

Если он в процентах, попробуйте это здесь

function animateBar(percentage) {
    percentage = percentage+"%";
    $('#innerBox').animate({'width': percentage}, 3000);
}

мы используем свойство css здесь, поэтому не забывайте одинарные кавычки, поэтому оно должно быть "width" not width