javascript - 使用 jquery 在具有向下滑动效果的特定行之后添加一行

标签 javascript jquery html css

我需要设计一个树状的表格结构,这样点击一个特定的行它就会向下滑动并在下面添加新的行。 (只是设计类别和子类别结构。)

我可以在特定行之后追加行,但无法为其添加任何效果。

$.post("quoteConversionsByCategory.cfm",
{   
    action:1,
    categoryID:categoryID
},
function(response){
    var jsonResponse = JSON.parse(response);
     $.each(jsonResponse.DATA, function(i){
        var newData = $("<tr class='subcategoryrow' rel="+ jsonResponse.DATA[i][0] +" id=category"+ jsonResponse.DATA[i][0] +" parentID="+categoryID+" ><td colspan='1'>"+jsonResponse.DATA[i][1]+"</td></tr>");
        $("#category" + categoryID).after( newData ).fadeIn('slow');;   
    });
});

我正在动态生成行(子类别)并追加到特定行(类别)之后。如何在添加新行时在此处添加淡入淡出或滑动等效果?

最佳答案

这里的关键是,在 DOM 中已经存在某些内容之前,您不能执行任何动画。

因此,当您将 newData .after() 放在该行时,它会插入它并然后 对其进行动画处理,这不是行为你想要的。

你可以做的是向你添加的任何行添加一个类或样式,通过 CSS 隐藏它 - a la:

.hide{
    display: none;
}

然后,将其添加到 DOM 后,执行 .slideDown.fadeIn

您也可以在插入元素之前调用元素上的 .hide(),但我对此不确定,所以我不会在没有测试的情况下推荐它

关于javascript - 使用 jquery 在具有向下滑动效果的特定行之后添加一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22561317/

相关文章:

php - 将值从 php 数组传输到 jquery

html - 灵活内容周围的背景图像?

javascript - 清除选项卡形式的某些文本字段

javascript - 如何将一个长方形分割成数量相等的正方形?

javascript - 从多选的每个选项中提取 data-img-src

javascript - 等待 $.post 完成

html - 容器流体未居中

javascript - Node.js - 在 Amazon EC2 上获取主机 IP 地址

javascript - 在javascript中,是否有检查每一层嵌入对象是否存在的语法快捷方式?

javascript - 将 FabricJS Canvas 保存为 PNG 不起作用