Question

I'm using div for generating table display :

<div class="table-wrapper">
    <div class="table-row">
        <div class="table-cell">
            Id
        </div>
        <div class="table-cell">
            Name
        </div>
        <div class="table-cell">
            Age
        </div>
    </div>
    <div class="table-row">
        <div class="table-cell">
            1
        </div>
        <div class="table-cell">
            Joe
        </div>
        <div class="table-cell">
            25
        </div>
    </div>
    <div class="table-row">
        <div class="table-cell">
            2
        </div>
        <div class="table-cell">
            Robbin
        </div>
        <div class="table-cell">
            33
        </div>
    </div>
    <div class="table-row" id="row">
        <div class="table-cell">
            3
        </div>
        <div class="table-cell">
            Mark
        </div>
        <div class="table-cell">
            62
        </div>
    </div>
</div>

I want to my table-row has slideUp effect but it doesn't work. this jsFiddle describes my problem better.

Was it helpful?

Solution

DEMO

Animations are not supported for table rows, You can use fadeIn() and fadeOut() but not animations like slideUp(), slideDown()

Try this

I have changed your css

.table-wrapper{
    display:table;
}
.table-row{
    width:200px;
}
.table-cell{
    display:table-cell;
    border:1px solid gray;
    padding:5px;
    width:50px;
}

Here is a working DEMO of fadeout() without changing your table format

Hope this helps,Thank you

OTHER TIPS

Try this, its working ;-D

$('.tr').click(function() { 
		$($(this).find('.td')).animate({padding: '0px',height: '0px',fontSize: '0px'},200);
	});
div { box-sizing: border-box; }

.table {
    display: table;
    width: 100%;
    border-style: hidden;
    border-collapse: collapse;
    border-right: 1px solid black;
    border-left: 1px solid black;
}

.thead { 
	display: table-caption;
	padding: 5px;
	width: 100%;
	border: 1px solid black;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

.tr {
    display: table-row;
	box-shadow:  inset 0px -1px 0px black; /* This simulate a Bottom-Border */
	width: 100%;
}

.tr:nth-child(2n) { background: rgba(0,0,0,0.05); }

.td {
    display: table-cell;
    border-left: 1px solid black;
	border-right: 1px solid black;
	padding: 5px; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="table">
    <div class="thead">This DIV colspan="3"</div>
    <div class="tr">
        <div class="td" style="width: 10%;">Blah blah</div>
        <div class="td" style="width: 10%;">Blah blah</div>
        <div class="td">Click every row</div> 
    </div>
    <div class="tr">
        <div class="td">Blah blah</div>
        <div class="td">Blah blah</div>
        <div class="td">Blah blah</div>  
    </div>
    <div class="tr">
        <div class="td">Blah blah</div>
        <div class="td">Blah blah</div>
        <div class="td">Blah blah</div>   
    </div>
    <div class="tr">
        <div class="td">Blah blah</div>
        <div class="td">Blah blah</div>
        <div class="td">Blah blah</div>  
    </div>

</div>

jsfiddle

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top