使用jQuery隐藏页面Load()上的元素

时间:2011-05-12 22:25:50

标签: javascript jquery css

如果我使用jquery在page_load上隐藏一些元素,那么当页面发布然后消失时,元素会瞬间闪烁:

  function pageLoad() {

        $('#panelOne').hide();
        $('#panelTwo').hide();

有没有办法防止闪烁?

我不想将css元素设置为visibility:hidden,因为稍后调用jquery .show()方法似乎不会显示该元素。

4 个答案:

答案 0 :(得分:6)

设置visibility: hidden不起作用,但display: none会起作用。 See jsFiddle.

你可以在DOMReady事件上执行此操作,但在CSS中执行它会更清晰。

答案 1 :(得分:2)

$.show()不适用于设置为visibility: hidden的元素。您需要使用display: none。这对你来说比使用jQuery隐藏在DOM上更好,并且绝对保证你不会看到闪烁。

答案 2 :(得分:1)

不要隐藏在页面加载上,而是将其隐藏在domready中,如下所示:

$(function() { ........ });

用你的2条隐藏线替换......。

Domready在构建dom-tree时运行,并且比pageLoad早得多。 Pageload等待图像和内容运行。 (假设你有以下的pageLoad:<html onload="pageLoad();">)。

答案 3 :(得分:1)

绝对使用文档就绪而不是页面加载:

$(function() {
    $('#panelOne, #panelTwo')
        .hide();
});