Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CSS3 transition on table row using height property

I have an HTML table displaying some information with a few rows. On each row, the user can click to reveal some additional rows that contains information related to the clicked row.

Something like this: Deployed rows

While the additional rows are being created with an AJAX request, a loading row is inserted right after the clicked row : Loading row

Currently, everything works perfectly (drill down style), but I would like to add some animation to the loading row. I found a question ( this one ) that has a JSFiddle showing kind of what I want ( this fiddle ).

I tried to implement something similar with CSS3 transitions, but I can't get it to work. Here's my simulated attempt ( fiddle only for deployment of the loading row ) using these transitions :

-webkit-transition: height 0.1s ease-in-out;
-moz-transition: height 0.1s ease-in-out;
transition: height 0.1s ease-in-out;

Any thought on why my fiddle doesn't do any animation? Any other methods you would propose?

Thanks!

like image 730
Alexis Leclerc Avatar asked Jan 23 '26 02:01

Alexis Leclerc


1 Answers

I'm not clear from your question if using CSS transitions is a requirement or not. I went ahead and assumed based off your example jsfiddle that using jQuery instead is acceptable.

I created a jsfiddle to show this, but basically what I did was remove the CSS transitions and set up new rows to be hidden on load using javascript

    loadingRow.className = "deployable";
    jQuery(loadingRow).attr("style","display: none;");      

Then I use the slideToggle function from your example to ease the new row into place.

    loadingRow.style.height = "400px";
    jQuery(loadingRow).slideToggle(2000);
like image 166
Arth Du Avatar answered Jan 25 '26 21:01

Arth Du



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!