How to Use slideDown (or show) function on a table row?

后端 未结 21 2108
清歌不尽
清歌不尽 2020-11-22 09:03

I\'m trying to add a row to a table and have that row slide into view, however the slidedown function seems to be adding a display:block style to the table row which messes

21条回答
  •  粉色の甜心
    2020-11-22 09:34

    I neded a table with hidden rows that slide in and out of view on row click.

    $('.tr-show-sub').click(function(e) {  
        var elOne = $(this);
        $('.tr-show-sub').each(function(key, value) {
            var elTwoe = $(this);
            
            if(elOne.get(0) !== elTwoe.get(0)) {
                if($(this).next('.tr-sub').hasClass('tr-sub-shown')) {
                    elTwoe.next('.tr-sub').removeClass('tr-sub-shown');
                    elTwoe.next('tr').find('td').find('div').slideUp();
                    elTwoe.next('tr').find('td').slideUp();
                }
            }
            
            if(elOne.get(0) === elTwoe.get(0)) {
                if(elOne.next('.tr-sub').hasClass('tr-sub-shown')) {
                    elOne.next('.tr-sub').removeClass('tr-sub-shown');
                    elOne.next('tr').find('td').find('div').slideUp();
                    elOne.next('tr').find('td').slideUp();
                } else {
                    elOne.next('.tr-sub').addClass('tr-sub-shown');
                    elOne.next('tr').find('td').slideDown();
                    elOne.next('tr').find('td').find('div').slideDown();
                }
            }
        })
    });
    body {
            background: #eee;
        }
        
        .wrapper {
            margin: auto;
            width: 50%;
            padding: 10px;
            margin-top: 10%;
        }
        
        table {
            background: white;
            width: 100%;
        }
        
        table th {
            background: gray;
            text-align: left;
        }
        
        table th, td {
            border-bottom: 1px solid lightgray;
            padding: 5px;
        }
        
        table .tr-show-sub {
            background: #EAEAEA;
            cursor: pointer;
        }
    
        table .tr-sub td {
            display: none;
        }
        
        table .tr-sub td .div-sub {
            display: none;
        }
    
    
    col 1 col 2 col 3
    col 1 col 2 col 3
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis auctor tortor sit amet sem tempus rhoncus. Etiam scelerisque ligula id ligula congue semper interdum in neque. Vestibulum condimentum id nibh ac pretium. Proin a dapibus nibh. Suspendisse quis elit volutpat, aliquet nisi et, rhoncus quam. Quisque nec ex quis diam tristique hendrerit. Nullam sagittis metus sem, placerat scelerisque dolor congue eu. Pellentesque ultricies purus turpis, convallis congue felis iaculis sed. Cras semper elementum nibh at semper. Suspendisse libero augue, auctor facilisis tincidunt eget, suscipit eu ligula. Nam in diam at ex facilisis tincidunt. Fusce erat enim, placerat ac massa facilisis, tempus aliquet metus. Fusce placerat nulla sed tristique tincidunt. Duis vulputate vestibulum libero, nec lobortis elit ornare vel. Mauris imperdiet nulla non suscipit cursus. Sed sed dui ac elit rutrum mollis sed sit amet lorem.
    col 1 col 2 col 3
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis auctor tortor sit amet sem tempus rhoncus. Etiam scelerisque ligula id ligula congue semper interdum in neque. Vestibulum condimentum id nibh ac pretium. Proin a dapibus nibh. Suspendisse quis elit volutpat, aliquet nisi et, rhoncus quam. Quisque nec ex quis diam tristique hendrerit. Nullam sagittis metus sem, placerat scelerisque dolor congue eu. Pellentesque ultricies purus turpis, convallis congue felis iaculis sed. Cras semper elementum nibh at semper. Suspendisse libero augue, auctor facilisis tincidunt eget, suscipit eu ligula. Nam in diam at ex facilisis tincidunt. Fusce erat enim, placerat ac massa facilisis, tempus aliquet metus. Fusce placerat nulla sed tristique tincidunt. Duis vulputate vestibulum libero, nec lobortis elit ornare vel. Mauris imperdiet nulla non suscipit cursus. Sed sed dui ac elit rutrum mollis sed sit amet lorem.
    col 1 col 2 col 3

提交回复
热议问题