逐行询问基本的javascript

时间:2017-03-06 16:00:46

标签: javascript jquery

据我所知,JS代码是逐行执行的。为什么然后在alert之前执行hide下面的代码?

$(document).ready(function(){
    $("button").click(function(){
         $("p").hide();
        alert("The paragraph is now hidden"); 
    });
});

2 个答案:

答案 0 :(得分:1)

这是因为DOM操作通常有点沉重,并且在执行上述事件循环中的所有语句之后呈现。

正如@Pointy正确提到的那样,只有在执行注册语句之后才会呈现布局。

答案 1 :(得分:0)

hide()之后执行。 hide()注册将在命令完成后执行的DOM更改。您可以在alert之前等待一点:

$(document).ready(function(){
    $("button").click(function(){
         $("p").hide();
         setTimeout(function() {
             alert("The paragraph is now hidden"); 
         }, 100);
    });
});