编程语言
首页 > 编程语言> > javascript – jQuery:slideDown不合时宜地没有动画

javascript – jQuery:slideDown不合时宜地没有动画

作者:互联网

我写了一个简短的方法来将行追加到表中.它如下:

/*--------------------------------------------------*/
/* Append a row to the documentation heading table. */
/*--------------------------------------------------*/
function append_heading(heading, style, default_content, node_enabled, leaf_enabled)
{
    // Grab the table body.
    var tbody = $("#headings_table_body");

    // Generate our cells.
    var headingCell = $('<td class="heading_column"></td>');
    var styleCell = $('<td class="style_column"></td>');
    var defaultCell = $('<td class="default_column"></td>');
    var nodesCell = $('<td class="nodes_column ticked"></td>');
    var leavesCell = $('<td class="leaves_column ticked"></td>');

    // Fill in various cells.
    headingCell.append(heading);
    styleCell.append(style);
    defaultCell.append(default_content);

    // Tick some cells cross the others.
    if(node_enabled)
    {
        nodesCell.addClass("ticked");
    }

    else
    {
        nodesCell.addClass("crossed");
    }

    if(leaf_enabled)
    {
        leavesCell.addClass("ticked");
    }

    else
    {
        leavesCell.addClass("crossed");
    }

    // Add all the cells to one big row.
    var tr = $("<tr></tr>")
        .append(headingCell)
        .append(styleCell)
        .append(defaultCell)
        .append(nodesCell)
        .append(leavesCell);

    // Append the row to the table.
    tbody.append(tr);

    $(tr).hide();
    $(tr).slideDown("slow");
}

它按预期附加行,所有行都很好地填充和样式.问题是,slideDown没有动画:它的当前行为类似于我调用hide()和show(),它只是出现.我怎样才能让它正确动画?任何帮助表示赞赏,谢谢.

解决方法:

jQuery无法直接为表动画.您需要的只是将行中每个td单元格的内容用display:none包装到div中,并为它们制作slideDown动画!让你的生活更轻松:)))

 tr.find('td').wrapInner('<div style="display: none;" />');
 tr.appendTo(tbody);
 tr.find('td > div')
             .slideDown('slow', function(){
                  var $set = $(this);
                  $set.replaceWith($set.contents());
             });

如果要为整个表设置动画,则应将其放置到div中,并将动画应用于该div.

标签:html,ria,javascript,jquery
来源: https://codeday.me/bug/20190902/1791583.html