在jquery中是否有"元素就绪"功能?

byr*_*gur 5 css jquery

我有一个具有CSS边框的元素,问题是元素是空的,直到内容被jQuery填充,但边框是由CSS从头开始绘制的.我希望能够做一些像隐藏元素可见性的东西, 直到它准备好显示然后一次显示元素和边框.

有没有办法实现这个目标?

编辑:显示内容的代码包含在里面

$(window).load(function() {

}
Run Code Online (Sandbox Code Playgroud)

Cod*_*ner 14

方法1

您可以尝试的一种方法是将元素的CSS设置为display:none;.这将隐藏元素,并调用以下函数将导致元素显示在DOM加载上.

$(document).ready(function () {
  // Put all of jQuery code in here
  $("element").show(); // substitute element for whatever is needed
});
Run Code Online (Sandbox Code Playgroud)

但是,我不会建议这种方法,因为一旦jQuery执行,内容会突然跳转,因为这display:none;意味着页面上没有元素的痕迹

方法2

我认为最好的方法是使用visibility:hidden.这将导致元素通常仍然出现的空间,但是将有空格代替元素.这样,当页面加载时,内容不会突然跳跃.如果使用此方法,则需要使用该.css()方法,因为.show()实际上是将元素的CSS设置为,display:block;所以代码看起来像这样

$(document).ready(function () {
  // Put all of jQuery code in here
  $("element").css("visibility", "visible") // substitute element for whatever is needed
});
Run Code Online (Sandbox Code Playgroud)

对于这两种方法,CSS将隐藏元素,并且此函数在执行之前等待整个DOM加载.