jquery/javascript等待函数完成

jquery/javascript等待函数完成,javascript,jquery,Javascript,Jquery,我有一个脚本,它通过DOM操作来改变div的外观。应用程序的方式是,当页面加载时,div以其原始状态呈现,函数会操纵div。问题是它在呈现更改的div之前呈现原始div 我试过: //Make div invisible //Call function to change the DIV //Make div visible 这行不通 $('div').hide(function(){ $(this).css('font-size', '5em'); $(this).find('h1'

我有一个脚本,它通过DOM操作来改变div的外观。应用程序的方式是,当页面加载时,div以其原始状态呈现,函数会操纵div。问题是它在呈现更改的div之前呈现原始div

我试过:

//Make div invisible

//Call function to change the DIV

//Make div visible
这行不通

$('div').hide(function(){
 $(this).css('font-size', '5em');
 $(this).find('h1').css('color','red');
 $(this).show();
})
这必须奏效;)


这必须奏效;)

是否使用可见性属性

<div id="divy" style="display:none;">Wee</div>

是否使用“可见性”属性

<div id="divy" style="display:none;">Wee</div>

如果你不想马上显示它,你应该用CSS(而不是JS)来隐藏它。然后运行更改函数并显示它。

如果您不想立即显示它,您应该使用CSS(而不是JS)隐藏它。然后运行change函数并显示它。

您是否只是想让div保持可见,同时防止看到更改?您可以通过克隆div,对克隆的div进行更改,然后用克隆的、更改的div替换原始div来实现这一点。例如:

var changed_cloned_div = make_changes( $('#original_div').clone() );
$('#original_div').replaceWith( changed_cloned_div );

您是否只是想让div保持可见,同时防止看到更改?您可以通过克隆div,对克隆的div进行更改,然后用克隆的、更改的div替换原始div来实现这一点。例如:

var changed_cloned_div = make_changes( $('#original_div').clone() );
$('#original_div').replaceWith( changed_cloned_div );


您希望在浏览器中加载页面时立即更改DIV,还是不希望看到增量更改?我不希望看到增量更改我们讨论的是哪种更改?如果它足够简单,就不要使用JS,而是让JS更改元素类-效果将是即时的。您是否希望在浏览器中加载页面时立即更改DIV,或者你不想看到变化以增量的方式发生吗?我不想看到变化以增量的方式发生我们在谈论什么样的变化?如果它足够简单,就不要使用JS,而是让JS更改元素类-效果会是即时的。你不能链接它吗$(this).css('font-size','5em').find('h1').css('color','red').show()@索尔伯格:如果你像这样链接,show()将只在h1上,而不是整个div上。我可以链接,但我想展示如何在那里做很多事情:)可以是字体大小,也可以是内容或其他任何东西,更重要的是如何做;)@paolo:$(this).css('font-size','5em').find('h1').css('color','red').end().show();会做一行的把戏:)你不能把它拴起来吗$(this).css('font-size','5em').find('h1').css('color','red').show()@索尔伯格:如果你像这样链接,show()将只在h1上,而不是整个div上。我可以链接,但我想展示如何在那里做很多事情:)可以是字体大小,也可以是内容或其他任何东西,更重要的是如何做;)@paolo:$(this).css('font-size','5em').find('h1').css('color','red').end().show();将执行一行技巧:)正如上面在评论中所提到的,从不隐藏defaultsays的内容?如果html对象的默认状态是隐藏的,那么这是必要的。默认情况下,此注释项是隐藏的@Hunter——这是因为它依赖于AJAX来检索注释,因此如果禁用JavaScript,则不会启用它,并且在这种情况下,默认情况下隐藏是合乎逻辑的。我在评论中确实指出,在某些情况下,这是一种不好的做法,但我最初的评论是删除了。我没有在Bob Smith的帖子中读到他正在考虑不启用javascript的浏览器。我刚开始使用这个StackOverflow,我不想开始做“假设”语句。这是一个jQuery问题,我给出了jQuery的答案。noscript可以包含另一个要修复的.css。正如上面在评论中所提到的,永远不要通过默认设置隐藏内容?如果html对象的默认状态是隐藏的,那么这是必要的。默认情况下,此注释项是隐藏的@Hunter——这是因为它依赖于AJAX来检索注释,因此如果禁用JavaScript,则不会启用它,并且在这种情况下,默认情况下隐藏是合乎逻辑的。我在评论中确实指出,在某些情况下,这是一种不好的做法,但我最初的评论是删除了。我没有在Bob Smith的帖子中读到他正在考虑不启用javascript的浏览器。我刚开始使用这个StackOverflow,我不想开始做“假设”语句。这是一个jQuery问题,我给出了jQuery的答案。noscript可以包含另一个要修复的.css。