jQuery .hide()函数“闪烁”

时间:2015-12-22 04:35:41

标签: javascript jquery css

我在页面的head部分使用jQuery .hide()函数来隐藏页面加载的div。唯一的问题是它在执行函数之前大约需要0.25秒,而当页面加载时,它会显示一小部分时间。这足以令人讨厌。我不想使用“display:none;”是css(由于我不想进入的原因),但有没有办法阻止这种情况?它只是一个简单的jQuery系列。

procedure TWizardForm.MakeChanges;
var
  XmlNodeNamedList: IXmlNode;
  someInt: Integer;
begin
  someInt := retrieveInteger();
  XmlNodeNamedList := IXmlNode(someInt); // ***
end;

6 个答案:

答案 0 :(得分:0)

你必须做

<div id="mini-header" style="display:none"></div>

您的jQuery在DOM操作之后执行。这样就会出现这个问题。

你应该只使用Html来避免这个问题。

答案 1 :(得分:0)

是的,因为,你已经在dom ready处理程序中添加了hide代码,所以在dom ready事件触发之前,元素将被显示,然后在代码执行时将被隐藏。

修复它的正确方法是使用css,无论是内联还是规则,就像你可以在css中使用id选择器一样<div id="mini-header" class="hidden">

#mini-header {
    display: none;
}

或添加如下的css规则,并将该类添加到元素中,如

.hidden {
    display: none;
}

答案 2 :(得分:0)

“正确”的方法是你不想这样做(通过使用css)。如果没有你需要在文件准备好之前隐藏元素。

答案 3 :(得分:0)

您可以尝试将div的初始可见性设置为隐藏。

<div id="mini-header" style="visibility:hidden;"></div>

答案 4 :(得分:0)

您可以使用:

$(document).ready(function() { 
    $('div#mini-header').hide(0);
});

我希望它可以帮助你...

答案 5 :(得分:0)

你应该在CSS中真正做到这一点。至少按照建议,为元素添加内联样式。

你正在使用的是jQuery来查找元素然后隐藏它。这意味着需要加载jQuery,然后在文档准备就绪后运行查询选择函数。

“解决方法”是在head元素之后添加内联javascript片段。

<script>
document.getElementById('#mini-header').style.visibility = 'hidden';
</script>

正如其他人所说,正确的方法是使用CSS。