JQuery aimate и значения свойств в процентах
Я пытаюсь оживить div, и я пытаюсь использовать какое-то значение, полученное где-то в другом месте, я знаю, что значение правильное, потому что я распечатал вывод... так что мне интересно, почему он не работает должным образом
animateBar(percentage.toFixed(2)+'%');
[ . . . ]
function animateBar(percentage)
{
$('#innerBox').animate({width: percentage}, 3000);
}
Ответы
Ответ 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