为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码中,jquery中promise done方法为什么无效呢?

这段代码中,jquery中promise done方法为什么无效呢?

萧十郎 2018-08-14 09:09:08
setTimeout(function(){ $("div.A,div.B").fadeOut(500).promise().done(showIntroSection);             function showIntroSection(){             console.log("delay");                 $("div.C").animate({"opacity":"1","width":"70%"},10000).promise().done(console.log("1"));             }         },1000);如上代码,对div.A,div.B执行了fade()方法后,500ms延迟后可以正常的输出delay,表示第一个promise done方法成功,但是在done方法的showIntroSection函数内部,div.C的动画确是和console.log("1")同时执行的,问题在于 showIntroSectin函数中,不是应该先执行完10000ms的动画,再输出这个console.log("1")的吗?这个promise done方法为什么无效呢?(试过改成when then什么的,都是一样的症状)不明白问题出在哪里 希望大家给些帮助
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

虽然我没写过jquery..但是听问题描述和看代码感觉
我觉得你把
$("div.C").animate({"opacity":"1","width":"70%"},10000).promise().done(console.log("1"));
中的
console.log("1")
改成
function(){console.log("1")}
应该就可以了。

查看完整回答
反对 回复 2018-09-20
  • 1 回答
  • 0 关注
  • 689 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信