我的jQuery代码确实有一个小问题
<script type="text/javascript">
function AnimateCloud() {
$("#cloudAmu").animate({
"left": "+150%"
}, 5000, 'linear');
return false;
}
function AnimateCloud2() {
$("#cloudAmu").animate({
"right": "+150%"
}, 5000, 'linear');
return false;
}
$(document).ready(
AnimateCloud().then(AnimateCloud2())
);
</script>
你知道是什么问题吗?
最好的祝福
高迪曼
最佳答案
问题是因为您的函数返回的是 bool(boolean) 值false
,而该值没有then()
方法。
要将调用链接到函数,您需要从对promise
的调用中返回animate()
。试试这个:
function AnimateCloud() {
return $("#cloudAmu").animate({
"left": "+150%"
}, 5000, 'linear').promise();
}
function AnimateCloud2() {
return $("#cloudAmu").animate({
"right": "+150%"
}, 5000, 'linear').promise();
}
$(document).ready(function() {
AnimateCloud().then(AnimateCloud2)
});
请注意,看来
AnimateCloud()
和AnimateCloud2()
包含相同的逻辑,可以进行改进。