jQuery.hide()函数"闪烁”;

jQuery .hide() function "flashes"

本文关键字:quot 闪烁 函数 hide jQuery      更新时间:2023-09-26

我在页面的头部使用jQuery.hide()函数来隐藏页面加载时的div。唯一的问题是,它在执行函数之前大约需要0.25秒,当页面加载时,它只显示了那几分之一秒。这已经足够让人相对讨厌了。我不想使用"display:none;"是css(出于我不想进入的原因),但有办法防止这种情况吗?这只是jQuery的一行代码。

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

您必须执行

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

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

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

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

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

#mini-header {
    display: none;
}

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

.hidden {
    display: none;
}

"正确"的方式是你不想做的方式(通过使用css)。否则,您需要在文档就绪启动之前隐藏元素。

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

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

您可以使用这个:

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

我希望它能帮助你。。。

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

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

一个"变通方法"是在head元素后面添加一个内联javascript片段。

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

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