js执行一个方法后再执行另一个方法

JavaScript017

js执行一个方法后再执行另一个方法,第1张

a()b()

是这样吗?

要不这样:

function a(callBack){

var var1 = 'xx'

if(callBack &&typeof callBack == 'function'){

callBack(var1)

}

}

要不再这样:

function a(para){ // para = {success:function(d,s){},error:function(d,s){}}

var data = null

var status = ''

if(para.success &&typeof para.success == 'function'){

status = 'success'

para.success(data,status)

}

if(para.error &&typeof para.error == 'function()'){

status = error'

para.error(data,status)

}

}

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

注释:按钮点击之后,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()

}