【问题标题】:jQuery animating table tbody tagjQuery 动画表格 tbody 标签
【发布时间】:2012-03-24 08:02:27
【问题描述】:

我有这个有效的代码:

    $('a.click_more').click(function() {
            $(this).parents('table.city_table').children('tbody').toggle();
    });

我正在尝试创建一个非常流畅的动画来显示和隐藏表格元素。我试过这个,但它与顶部代码相同,尽管有一点延迟。可能是我设置的半秒持续时间。

    $('a.click_more').click(function() {
        $(this).parents('table.city_table').children('tbody').animate({height:'toggle'}, 500);
    });

有没有人完成了表格行、单元格、列等的动画制作或有什么建议?

如果有人想玩代码,我已经创建了一个 jsfiddle:http://jsfiddle.net/BHqSM/1/

【问题讨论】:

  • 你的jQuery成功了吗?如果是这样,问题是什么?
  • 您在寻找什么样的“漂亮流畅的动画”?淡入/淡出?向上/向下滑动?还是什么?
  • 只是一个标准的上下滑动动画。
  • 我已经用 jsfiddle 链接更新了问题。

标签: jquery css html-table jquery-animate


【解决方案1】:

表格元素的动画效果不佳,无法绕过它。例如,动画行的唯一平滑方法是将内部 td 内容包装在 div 中并为 div 设置动画

【讨论】:

    【解决方案2】:

    试试slideToggle()函数:

    $('a.click_more').click(function() {
        $(this).parents('table.city_table').children('tbody').slideToggle('slow');
    });
    

    【讨论】:

    • 也试过了。产生与第二个代码字符串相同的结果。
    • 尝试添加“慢”作为持续时间。我编辑了答案以反映这一变化。
    • 另外,运气不好。如果我也提供我的表结构会有帮助吗?
    • 不能伤害,将其添加到您的问题中
    • 知道了,您将继续在正确地为表格设置动画时遇到问题。如果可以的话,我会切换到 div 而不是表格。您可以继续尝试修改 jQuery 以获得您想要的结果,但如果动画是必不可少的,您最好将其从表格更改为 div。
    【解决方案3】:

    由于您没有提及您正在寻找什么样的过渡,所以很难给您一个很好的例子。然而,jQuery 确实为您提供了一些开箱即用的转换。例如,您可以使用.fadeToggle() 淡入/淡出元素或使用.slideToggle() 向上/向下滑动元素,而不是使用仅在块和无之间切换显示的.toggle()

    【讨论】:

    • 我都试过了。我只想要基本的点击幻灯片来显示/隐藏动画。问题是它不适用于表格。我想如果我可以切换我可以附加动画。我的意思是没有设置宽度或高度的表格会转换为它周围的内容并即时符合浏览器窗口,所以为什么它们不能动画呢。
    猜你喜欢
    • 2016-04-28
    • 2016-05-14
    • 2021-08-21
    • 1970-01-01
    • 2016-12-18
    • 2013-06-03
    • 2015-10-23
    • 1970-01-01
    相关资源
    最近更新 更多