1. javascript怎么让函数执行完毕再执行
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)
}
2. 怎么让异步先执行完了再执行js方法
方式一:用回调的方式,将要执行的方法放在异步函数的回调方法里面
方法二:promise了解下,结合async, awit,将异步方法,写成同步方法。
3. 怎么让js函数 一个执行完之后在执行另外一个
第一种情况:运动函数执行完之后再执行另外一个函数
注释:按钮点击之后,div先显示出来,然后宽度和高度再增加到300px
<button class="btn">点击我</button><div id="div2">
<p>人的灵魂所必须的东西,是不需要用金钱来买的</p></div><style>
div{height: 200px;width: 200px;padding:15px;background: #ececec;display: 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();
}