
第一种情况:运动函数执行完之后再执行另外一个函数
注释:按钮点击之后,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函数等等
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)