2011-12-15 2 views
0

私は青いボーダーでハイライトしたい、マウスのところでアニメーションを作り、mouseleaveを使って強調したい一連のdivを持っています。 divをクリックすると、新しいdivがクリックされるまで境界線が保持され、前の選択肢が白い枠線に戻ってアニメーション化されます。次のコードを使用してjQueryUIでborderColorをアニメーション化する

、境界がフェードイン、彼らはフェードアウトしていない:

$('div').hover(function(){ 
    if (!$(this).hasClass('sel')) { 
    $(this).stop().animate({borderColor:'#0000ff'}, 2000);  
    } 
},function(){ 
    if (!$(this).hasClass('sel')) { 
    $(this).stop().animate({borderColor:'#ffffff'}, 2000); 
    } 
}).click(function(e){ 
    $('.sel').not(this).stop().animate({borderColor:'#ffffff'}, 2000).removeClass('sel'); 
    $(this).addClass('sel'); 
}); 

http://jsfiddle.net/reEsa/

+0

色をGreen(http://jsfiddle.net/N4u8T/)に変更し、jQueryUIがアニメーション化する前に色を白に変更することに気付きました。回避策のアイデアはありますか? – arby

答えて

1

国境が白い最初に行くように見えるし、指定に変更色に直接行くのではなく、色を使用します。 jQueryにまだバグレポートがない場合は、バグレポートを提出してください。

divをdiv内に配置し、境界線をシミュレートするためにパディング4を作成する回避策を行いました。親divに白い背景を与え、親divの背景色をアニメーション化しました。私は問題の場合を示すためにクリックを取り除いた。

jsfiddle here

私はあなたがこのプラグインは、あなたが実際にそれを適用しているとき、それが簡単にコーディングして読むことを作るために作成する新しいdiv要素にそれを呼び出すのdivを追加し、短い少しjQueryプラグイン、でこれをラップします。

ご不明な点がありましたらお知らせください。お返事をお送りいたします。

+0

よろしくお願いします。 backgroundColorのアニメーション化にborderColorと同じ問題があるかどうかはわかりませんでした。私はdivのすべてのdivをラップして、今は上手く見える。 http://bugs.jqueryui.com/ticket/7957に掲載されているバグレポート – arby

+0

あなたのために働いてくれてうれしいです。現在のポストを保つだけで、あなたのバグレポートは別のバグの複製として閉じられました。作業チケットは[#6969](http://bugs.jqueryui.com/ticket/6969)です。 – jyore

関連する問題