gpt4 book ai didi

jquery hide() 与 flash 的计时问题

转载 作者:行者123 更新时间:2023-12-01 06:05:35 26 4
gpt4 key购买 nike

我使用带有 TableTool 插件的 DataTable 来导出 CSV 和剪贴板,它运行得非常好......直到我决定让我的页面有点花哨。所以我在一个页面上有一些数据表。启动时,我这样做

$('.dataTables_wrapper').each( function() {
$(this).hide();
});

当需要的时候我会slideToggle()它们。问题是:当表格再次可见时,TableTool 按钮不再起作用。如果我省略 $(this).hide(),则使用 slipToggle() 效果效果会很好。

我做了一些调查,现在我的想法是:- TableTool 插件使用闪存。每个按钮实际上都是一个 Flash 对象。- 当调用 $(this).hide() 时,Flash 内容尚未加载。不知何故,这会阻止它加载。我不确定这是否是正确的浏览器行为,但它在 Chrome、FF 和 Opera 中非常一致。

有人可以建议解决这个问题吗?

谢谢

最佳答案

这里的技巧是要意识到,当元素在初始化期间隐藏时,它们没有任何高度或宽度 - 因此 TableTools 中用于文件和剪贴板交互的 Flash 按钮没有任何大小(即它们是 0px x 0px),您应该能够通过 Firebug/Inspector 确认。

问题的解决方案在于 TableTools API - 基本上您需要做的是,当表格(以及 TableTools 按钮)再次可见时,您需要调整按钮的大小,以便在用户操作时有一个区域可以点击。

您想要的两个函数是:fnResizeRequired 和 fnResizeButtons

http://datatables.net/extras/tabletools/api#fnResizeRequiredhttp://datatables.net/extras/tabletools/api#fnResizeButtons

第一个检查是否需要调整大小,第二个将执行实际的调整大小(您可以每次调用第二个,除了几个时钟周期外,没有什么坏处)。

希望这能做到:-)

作为引用,DataTables 论坛中也回答了这个问题:我刚刚在 DataTables 论坛中回答了这个问题,该问题也被提出: http://www.datatables.net/forums/discussion/5859 .

艾伦

关于jquery hide() 与 flash 的计时问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6818961/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com