現在、Web ページで使用されている jquery を 1.8 から 1.10.1 にアップグレードしようとしていますが、これによりページの一部の機能が壊れました。実際のコードを分離することができ、それを見て驚きました。以前実行していた再帰アニメーション コードがエラーをスローしていました。以下はコードです。
<script>
$(document).ready(function(){
glowOpenItems(500);
});
function glowOpenItems(duration){
$('#dialog').addClass('glowed',duration, function(){
$(this).removeClass('glowed',duration,function(){glowOpenItems(duration)});
});
}
</script>
<style>
.glowed{
box-shadow: 0px 0px 40px 3px #e14f1c;
}
</style>
<div id="dialog" title="Basic dialog">
<p>Test Code</p>
</div>
さらに調査すると、これが機能することがわかりました
$(document).ready(function(){
animate();
});
function animate() {
$('#dialog').animate({backgroundColor:'#ffcc00'}, 500, function(){
$('#dialog').animate({backgroundColor:'#3b5998'}, 500, function(){
animate();
});
});
}
しかし、animate メソッドをaddClassに変更するたびに、「Uncaught RangeError: Maximum call stack size exceeded」というメッセージが表示されます。jqueryのaddclassに変更があるようです。どんな助けでも大歓迎です。