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