この単純なサンプル コードの解決策がわかりません。これは複数の DOM オブジェクトの連続アニメーションであり、それぞれのオブジェクトでホバーがオフになっているときに削除する必要があります。インスタンス化された関数を削除するには? 前もって感謝します!
var animBorderColor = function(targetElement, color, speed){
$(targetElement).animate(
{
borderColor: 'rgba('+color+','+color+','+color+', 0.7)'
},
{
duration: speed,
complete: function(){
if ( color == '100' ) { color = '200'; } else { color = '100';
}
animBorderColor(this, color, speed);
}
}
);
};
$(document).ready(function(){
$("#obj1").hover(
function(){
animBorderColor($(this), '100', 500);
},
function() {
// ?? remove function instantiated above
});
$("#obj2").hover(
function(){
animBorderColor($(this), '100', 500);
},
function() {
// ?? remove function instantiated above
});
});
編集: Jsfiddle の例