我在执行animate动画完毕后调用回调函数,要直接写函数名“aniDiv”就能调用这个函数,而不是写成“aniDiv()”来调用为什么?如果我不写在回调函数中而是另起一行去调用函数就必须写括号,为什么了???<html><head><script type="text/javascript" src="/jquery/jquery.js"></script><script type="text/javascript"> $(document).ready(function(){ function aniDiv(){ $("#box").animate({width:300},"slow"); $("#box").animate({width:100},"slow",aniDiv); //该处调用aniDiv函数,没写小括号,为什么? } aniDiv(); $(".btn1").click(function(){ $(":animated").css("background-color","blue"); });});</script><style> div{background:#98bf21;height:40px;width:100px;position:relative;margin-bottom:5px;}</style></head><body><div></div><div id="box"></div><div></div><button class="btn1">Mark animated element</button></body></html>
3 回答
已采纳
Suber丶林
TA贡献75条经验 获得超180个赞
还原animate的写法:
// 其中一个参数为function声明,而不是执行一个function animate({width: 2}, 'slow', function() {}); // 所以你可以写成 animate({width: 2}, 'slow', function() {aniDiv()}); // 很显然,你已经将要执行的代码封装成一个function,而且不带参数,所以可以使用以下写法 animate({width: 2}, 'slow', aniDiv);
qyy2499760117_叶子
TA贡献188条经验 获得超91个赞
$("#box").animate({width:100},"slow",aniDiv); //该处调用aniDiv函数,没写小括号,为什么?
这句是在 function aniDiv()这个函数里,
添加回答
举报
0/150
提交
取消