jQuery fadeIn() 関数の動作を認識しましたが、これは間違っているようです。
これらのコード スニペットは同等である必要があります。
function fadeIn1(){
$("#fadediv1").stop(true).fadeIn(2000);
}
function fadeOut1(){
$("#fadediv1").stop(true).fadeOut(2000);
}
と:
function fadeIn2(){
$("#fadediv2").stop(true).fadeTo(2000, 1);
}
function fadeOut2(){
$("#fadediv2").stop(true).fadeTo(2000, 0);
}
しかし実際には、例 1 の動作は奇妙です。自分でテストできるサンプルページを作成しました: http://neo1.fomalhaut.uberspace.de/virtualGuitar/example.html
うまく動かないのは上の方です。マウスで赤い div に入ると、青い div がフェードインし始めます。まだフェードインしている間はそのままにしておきます。フェードインが止まり、フェードアウトし始めます。フェードアウト中に再入力すると、再びフェードインを開始する必要がありますが、フリーズします。しかし、そうではありません。
下の例では、すべてが期待どおりに機能します。ここでは、fadeTo 関数を使用しました。
フェードインとフェードアウトはターゲットの不透明度が 1 と 0 のフェードトに似ているため、誰かが私が正しく、この動作が発生するべきではないと言うことができますか? それとも、私が間違っていて、これは何らかの理由でそのようになっているのでしょうか?
JQuery のバージョンは最新のもの (1.7.2) で、Chrome、Firefox、および Opera でテストされています。