2013-04-08 75 views
0

我知道“$(document).ready”会在导航器加载页面上的所有内容后立即触发。我的目标是在页面中呈现一张大桌子,并在第一个“第n个”之后隐藏每一行。那么,¿如何在渲染之前触发JQuery实例,以避免“闪烁”表格和页面的滚动?使用jquery隐藏表格行之前

我知道,我可以首先将表格的样式显示为“可见:无”,但起初这不是“有效”的解决方案。

+0

为什么不只是最初获取n行? – Dutts 2013-04-08 10:40:14

+0

我可以建议你动态地创建你的表格。 – 2013-04-08 10:41:25

+1

如果所有的行都隐藏起来,然后出现正确的行,它会看起来好像表正在加载而不是“眨眼”效果 – tpbowden 2013-04-08 10:41:49

回答

0

你一般不能这样做,在客户端方。 JQuery可以与DOM中的对象一起使用,这些对象可用(或将来可用 - 在初始文档加载后)。

在这里我看到两个选项:。
一)极限的记录在服务器端
B)做什么号说Bogieman(加载它们隐藏起来,后来证明)=>这听起来并不好因为你可能正在加载大量的数据(通常)。

如果我正确理解你的问题:)

+0

我的想法是在渲染之前获取“table”或“tr”元素可见性,而不是之后,但我不知道如何触发它。所以我认为你完全理解了这个问题。 – 2013-04-08 10:49:00

+0

我不知道在客户端处理页面生命周期的任何可能方式。即使你要创建一个等待你的表的JavaScript处理程序,并且以某种方式在处理过程中奇迹般地捕获它,在加载最初的行之后仍然无法阻止它(=最后,你会加载整个表再次)。 – Damb 2013-04-08 10:51:26

-2

$(document).load();可能是你要找的东西,这发生在$(document).ready()之前;它应该在元素呈现之前发生。

如果这不起作用,您可能希望查看ajax调用来加载,然后在页面加载后呈现表格。

+1

*“$(document).load();可能是你想要的,这发生在$(document).ready()之前;”*不,它不。 '$(document).load();'什么都不做。 '$(window).load(function(){...});'确实,但它在'ready'回调之后*。 – 2013-04-08 10:44:07