Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一个「;元素就绪“;jquery中的函数?_Jquery_Css - Fatal编程技术网

是否有一个「;元素就绪“;jquery中的函数?

是否有一个「;元素就绪“;jquery中的函数?,jquery,css,Jquery,Css,我有一个元素有一个CSS边框,问题是在内容被jQuery填充之前元素是空的,但是边框从一开始就是由CSS绘制的。我希望能够做一些像 隐藏元素可见性,直到它准备好显示 然后一次性显示元素和边框。 有没有办法做到这一点 编辑:显示内容的代码包含在 $(window).load(function() { } 方法1 您可以尝试的一种方法是将元素的CSS设置为display:none。这将隐藏元素,调用以下函数将导致元素在DOM加载时显示 $(document).ready(function ()

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

有没有办法做到这一点

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

$(window).load(function() {

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

$(document).ready(function () {
  // Put all of jQuery code in here
  $("element").show(); // substitute element for whatever is needed
});
但是,我不建议使用这种方法,因为一旦jQuery执行,内容会突然跳转,因为
display:none
表示页面上没有该元素的跟踪

方法2 我认为最好的方法是使用
可见性: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
});
对于这两种方法,CSS将隐藏元素,此函数将等待整个DOM加载后再执行。

您可以使用jQuery添加获取边框的样式,或者删除一类隐藏的
display:none

要回答你的标题问题,那就是你要找的

您可以使用

$(function(){
  // your code here
});
因此,在加载DOM时执行上述操作。现在,您需要做的就是显示在css中设置了
可见性:hidden
的元素。

您是否尝试过
.css()
?您可以更改元素的css。 阅读更多


最初,将其设置为隐藏,然后将其删除。

最初隐藏您的项目

 $(function(){
    $('selector').hide(); // Or you can just have display:none
    });
在其他部分中,一些事件用一些内容填充div

....
....//some code that fills in your content
...
$('selector').show();
....
....

准备好的元素将起作用:

$(document.getElementsByTagName('div')[0]).ready(function() {
// do stuff when div is ready
试试这个:

$('#element').bind("DOMSubtreeModified", function () {
    //do stuff
});

您希望何时显示该元素?任何特定事件?我的编辑会回答吗?当您使用display:none时,元素实际上不会被加载。这就是为什么许多人推荐可见性:隐藏。显示:无也不占用dom空间,而可见性:隐藏和不透明度:0都占用。我明白了。科迪·古德纳的答案是正确的+1我喜欢这样,但如果这是一次性元素,我可能只会设置内联
style='display:none'
而不是CSS可见性。我可以将doc.ready内容放在window.load的内部还是外部。我真的很想把代码放在原始代码旁边,因为我有很多其他相关的东西在同一个负载中block@AaronLS使用类比使用内联类更好elements@byronyasgur应该在外面。就像window.load只是定义一个事件处理程序一样,document.ready也定义一个事件处理程序。您希望确保doc.ready事件处理程序是在doc.ready发生之前定义的,因此不应将其嵌套在另一个处理程序中。@byronyasgur您可以在
document.ready
块中放置任何您想要定位的代码,请参阅