在jQuery或JavaScript中,有没有什么事件可以让我在元素出现在浏览器中之前隐藏它们

oyxsuwqo  于 2022-12-12  发布在  jQuery
关注(0)|答案(4)|浏览(107)

现在我有了一个onready事件处理程序:

$(function() {
   $('element').hide();
});

但是元素只有在出现在浏览器中之后才隐藏起来,然后像 lightning 一样消失。
在内容出现在浏览器中之前,我可以绑定任何hide()函数吗?

huwehgph

huwehgph1#

我可以在内容出现在浏览器之前绑定任何hide()函数吗?
不可以。在使用javascript操作DOM之前,必须先加载DOM。最好的方法是使用CSS从服务器端隐藏元素,这样当页面加载时它就不会显示出来。因此,在CSS文件中定义一个隐藏类:

.hidden {
    display: none;
}

然后将其应用于您元素:

<div class="hidden">some hidden content</div>
9fkzdhlc

9fkzdhlc2#

为什么不能将这样的类应用于元素

HTML格式

<div class="s-hidden">Hello foo!</div>

CSS格式

.s-hidden { display: none; visibility: hidden; }
  • 请注意,visibility:hidden还对屏幕阅读器隐藏了该元素,如果您不启用此选项,屏幕阅读器仍将读出内容 *

然后在你需要的时候显示出来?

w9apscun

w9apscun3#

DOM必须先加载,然后才能使用JavaScript访问和修改它。你应该使用CSS隐藏元素,然后当DOM加载完成后,你就可以按照自己的意愿显示它们了。

lzfw57am

lzfw57am4#

使用CSS隐藏元素:
显示:无;

相关问题