I trying to animate a div and I try to use some value retreived somewhere else, I know the value to be correct because I've printed out the output... so I'm wondering why doesn't it work properly?
animateBar(percentage.toFixed(2)+'%');
[ . . . ]
function animateBar(percentage)
{
$('#innerBox').animate({width: percentage}, 3000);
}
This is pretty old, but this way is working for me:
wthSelected = 85;
$(this).animate({
width:wthSelected+'%'
}, 1500);
Also i'm using jquery-1.11.2.min.js and jquery.mobile-1.4.5.min.js
This works if you're happy using CSS3 transitions:
JS:
function animateBar(percentage){
$('#innerBox').width(percentage+'%');
}
CSS:
#innerBox{transition: 3s}
It seems as though theres a bug with using a percentage with animate. http://bugs.jquery.com/ticket/10669
I would suggest calculating the number of pixels to add yourself, something like this may work:
percent = 0.25;
add_width = (percent*$('#innerBox').parent().width())+'px';
$('#innerBox').animate({'width': '+='+add_width}, 3000);
Try adding the units text like this:
function animateBar(percentage)
{
$('#innerBox').animate({width: percentage+"px"}, 3000);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With