hover() での高さの変化をアニメーション化するために jQuery を使用しています。
ホバーすると .hover クラスが適用され、クリックすると .expanded クラスが切り替わります。ほとんどの場合、適切なアニメーションで機能しますが、初めての場合のみです。初めてホバーすると、アニメーションが完全にスキップされます。
私は困惑しています-問題のあるコードは次のとおりです。
$('#expandingbox').hover(
/*on mouseenter, if not expanded, add hover class*/
function() {
if (!$(this).hasClass("expanded")) {
$(this).stop(true, true).addClass("hover", "slow");
}},
/*on mouseout, if not expanded, remove hover class*/
function() {
if (!$(this).hasClass("expanded")) {
$(this).stop(true, true).removeClass("hover", "slow");
}
}).click(function() {
$(this).toggleClass("expanded", "slow");
});
$('#expandingbox').trigger('mouseout') を追加するとこの問題が解決することをどこかで見つけましたが、うまくいきませんでした。そして、問題を再現する例を次に示します: http://jsfiddle.net/Qc42v/
更新: チケットを送信しましたが、jQuery のバグであることが判明しました。同じコードが jQuery 1.5 (および jQuery UI の最新バージョン) で機能します。