javascript怎么让函数执行完毕再执行

JavaScript013

javascript怎么让函数执行完毕再执行,第1张

javascript提供了setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,因此延迟1秒后执行一个函数可以如下代码实现:

setTimeout("fun()",1000) // fun()是自定义函数

下面实例演示:打开页面后倒计时3秒,然后弹出对话框

1、HTML结构

<div id="test">3</div>

2、javascript代码

function fun(n){

if(n>0){

n--

document.getElementById("test").innerHTML = n

setTimeout("fun("+n+")",1000)

}

else

alert("时间到!!")

}

window.onload = function(){

setTimeout("fun(3)",1000)

}

第一种情况:运动函数执行完之后再执行另外一个函数 

注释:按钮点击之后,div先显示出来,然后宽度和高度再增加到300px

<button class="btn">点击我</button><div id="div2">

<p>人的灵魂所必须的东西,是不需要用金钱来买的</p></div><style>

div{height: 200pxwidth: 200pxpadding:15pxbackground: #ecececdisplay: none}</style><script>$().ready(function(){

$('.btn').click(function(){

$('div').show()

$('div').animate({            'width':'300px',            'height':'300px'

},1000)

})

})12345678910111213141516171819

或者这样写,如果div的高度宽度增加到300px,然后会执行另外一个函数,div的背景色会变成绿色

$().ready(function(){

$('.btn').click(function(){

$('div').show()

$('div').animate({            'width':'300px',            'height':'300px'

},function(){

$(this).css('background','green')

})

})

})123456789101112

第二种情况:把函数a绑定到函数c 上,按钮点击的时候执行函数c,传入的参数是a ,那么函数就先执行函数a(),然后再执行函数b()就形成了先后执行函数

$().ready(function(){

$('.btn').click(function(){

c(a)

})

})function a() {

$('div').animate({'width':'300px'},1000)

}function b(){

$('div').animate({'height':'300px'},1000)

}function c(x){

x()

b()

}