私はslideUpとSlideDownのメニューを持っています。
ユーザーが menuArea をクリックすると、メニューが開き、十字の付いた画像が表示されます。ボタンを閉じるには、ユーザーが画像をクリックすると、その画像が非表示になります。
このステップで問題が発生しました。
このフィドルを見てください:http://jsfiddle.net/pedroR/7YNJY/3/
注: 画像のため、Chrome または IE でこのフィドルを参照してください。
ありがとう
私はslideUpとSlideDownのメニューを持っています。
ユーザーが menuArea をクリックすると、メニューが開き、十字の付いた画像が表示されます。ボタンを閉じるには、ユーザーが画像をクリックすると、その画像が非表示になります。
このステップで問題が発生しました。
このフィドルを見てください:http://jsfiddle.net/pedroR/7YNJY/3/
注: 画像のため、Chrome または IE でこのフィドルを参照してください。
ありがとう
http://jsfiddle.net/7YNJY/12/ここでこれを試してみてください。アニメーションを元に戻すことはできますが、読みやすくするために少しだけダムに入れました。
問題は、が要素img
内に含まれていることです。#menuText
つまり、img
要素をクリックすると、のクリックイベントハンドラー#menuText
も起動され、それが実行されると、フェードインimg
します。
img
クリックイベントハンドラーに引数を追加し、呼び出しstopPropagation
てイベントがバブリングしないようにすることで、これを防ぐことができます。
$('#menuArea #menuText img').click(function(e) {
e.stopPropagation();
$('#menuArea ul').delay(100).slideUp(250);
$(this).stop(true, true).delay(100).animate({
opacity: 0
}, '100', 'linear');
});
これが実際の例です。
これがあなたが探している結果であるかどうかを確認してください:http://jsfiddle.net/rkw79/7YNJY/13/