我已编写此代码用于动态颜色更改文本。函数工作正常,但问题是有递归。通话结束后,我有js"过多的递归"错误。是否有可能或其他解决方案没有任何问题?
function dynamicColor() {
$(".class").animate({
color: 'rgb(255,40,80)'
}, 1000).animate({
color: 'rgb(100,255,40)'
}, 1000).animate({
color: 'rgb(40,100,255)'
}, 1000).animate({
color: 'rgb(255,40,100)',
complete: dynamicColor()
}, 1000);
}
答案 0 :(得分:0)
因为你没有分配引用,所以你一直在调用它
complete: dynamicColor()
需要
complete: dynamicColor
或
complete: function() { dynamicColor(); }
下一个问题是你完成了动画属性的内部。它不会被称为。
function dynamicColor() {
$(".class").animate({height: "100px"}, 1000)
.animate({height: "200px"}, 1000)
.animate({height: "300px"}, 1000)
.animate({height: "200px"},{duration: 1000,complete: dynamicColor});
}
dynamicColor();
.class {
background-color: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="class">This is a test</div>