怎么让js函数 一个执行完之后在执行另外一个?

怎么让js函数 一个执行完之后在执行另外一个?,第1张

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

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

}

在整个document上注册一个事件,和普通的dom元素注册事件是一样的。javascript事件机制会保证你点击链接的事件一直向上冒泡,最终在document级别被截获。然后在这个事件里面判断触发事件的对象是不是你的链接(判断的时候可以根据你的需要自己去确定触发click事件的是不是链接,比如这类的链接都有相同的name,或者干脆自己在链接里面定义一个自定义的属性,用这个自定义属性作为判断依据),如果触发事件的元素是你要的链接,就执行相应的代码。这样只在整个document上注册一个click事件,就可以统一处理所有链接的点击事件了。如果还不明白可以继续问我。

先查看错误提示,按f12键,打开控制台查看js的错误提示。还没解决,再做个排除法吧,把函数a,b,c换成简单的alert,重新运行一下,如果都能运行,那么就是函数c本身的问题。如果about页面还是不能运行,那么要么是函数b有问题阻断了进程,要么就是about页面的问题,查看它里面是不是还有其他的onload函数等等

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/11670956.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存