数据表切换列可见性延迟/效果

Datatables toggle column visibility delay/effects

本文关键字:延迟 效果 可见性 数据表      更新时间:2024-04-26

Datatables网站上的教程很清楚:

在我告诉Datatables我要说的是哪一列之后,我只是把开关放在:

column.visible( ! column.visible() );

或者,用一种更全面的方式,我可以写:

if ( column.visible() === true ) {
    column.visible( false );
  } else {
    column.visible( true );
  }

有没有一种方法可以对它进行某种"定时"处理,也许可以让专栏慢慢消失,而不是消失/重新出现?

我找不到任何关于这方面的文件。

我绝对不建议淡化一列。它很难看,而且要花很长时间。最后的崩溃仍然会发生。

无论如何,我已经在datatables之外用简单的jQuery完成了这项工作。基本上,您保持html不变,但您使用常规的jQuery来实现,而不是使用数据表。这里有一个例子:

 $('a.toggle-vis').on( 'click', function (e) {
   var column = $(this).attr("data-column") - 1;
   $('.yourDataTable td:nth-child('+column+'), .yourDataTable th:nth-child('+column+')'  ).fadeOut();
   return false;
 }

尽管如此,我还是建议不要使用:nth-child。如果您通过循环生成数据表,我只需要在每列中添加一个class="column_#",然后使用jQuery来获取它。(#是列的编号)

编辑:添加设置超时示例

if ( column.visible() === true ) {
    setTimeout(function(){
      column.visible( false );
    }, 500); //delays the function with 0.5 seconds
  } else {
    column.visible( true );
  }