DR1213上的教程非常清楚:
在我告诉Datatables我正在谈论哪一栏时,我只是把拨动开关:
column.visible( ! column.visible() );
或者,在更完整的路上,我可以写:
if ( column.visible() === true ) {
column.visible( false );
} else {
column.visible( true );
}
有没有办法放置某种"计时"对此,可能是因为列缓慢消失,而不是仅仅消失/重新出现?
我还没有找到任何关于此的文档。
答案 0 :(得分:1)
我绝对不建议淡化一个专栏。它非常难看,需要永远。最后的崩溃仍将发生。
无论如何,我使用简单的jQuery在datatables
之外完成了这个。基本上,你保持你的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来获取它。 (#是列的编号)
编辑:添加settimeout示例
if ( column.visible() === true ) {
setTimeout(function(){
column.visible( false );
}, 500); //delays the function with 0.5 seconds
} else {
column.visible( true );
}