jQuery Progress animate to predefined width - Multiple Div

Hélio C

How can I animate multiple div width using animate, when a div has already a width defined in the css of html.

For example. If I have style="width:30%;" in the html, and I want to animate that div from 0 to 30% how can I do it? And do that in multiple divs with the same class?

To animate a div that has no width defined, to a certain value, I know I can do it like this $('div').animate({ width: 'value' }, milisecs); but I don't want to set the width value on the JS and repeating this line multiple times.

I created this Fiddle that may help better understanding. Thank you in advance.

Rohan Kumar

Try to use data() like,

HTML

<p>Single</p>
<div class="container">
    <div class="fill" data-width="80%">
        <span><b>Bar One</b></span>    
    </div>
</div>
<hr>
<p>Multiple</p>
<div class="container">
    <div class="fillmult" data-width="90%">
        <span><b>Bar 1</b></span>    
    </div>
</div>
<div class="container">
    <div class="fillmult" data-width="50%">
        <span><b>Bar 2</b></span>    
    </div>
</div>
<div class="container">
    <div class="fillmult" data-width="70%">
        <span><b>Bar 3</b></span>    
    </div>
</div>
<div class="container">
    <div class="fillmult" data-width="20%">
        <span><b>Bar 4</b></span>    
    </div>
</div>

SCRIPT

$('.container > div').each(function(){ // you can use $('.fill, .fillmult').each
    var width=$(this).data('width');
    $(this).animate({ width: width }, 1500);
});

Live Demo

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related