2011-08-02 13 views
1

スライドアップとスライドダウンのメニューがあります。スライドアップメニューの画像を非表示にする問題

ユーザーがmenuAreaをクリックすると、メニューが開き、十字が表示されます。 ボタンを閉じるには、ユーザーが画像をクリックすると、その画像が見えなくなります。

この手順で問題が発生しています。このフィドルで

ルック:http://jsfiddle.net/pedroR/7YNJY/3/

注:ここ

おかげ

+0

正確に何か問題がありますか?私のためにうまくいくと思われる。 – Matt

+0

イメージをクリックして非表示にすると、メニューを閉じることができますか? – jackJoe

答えて

2

#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'); 
}); 

ここworking exampleです。

2

http://jsfiddle.net/7YNJY/12/はこれを試してみるため、画像のクロムまたはIEでこのフィドルを参照してください。あなたはアニメーションを戻すことができますが、読みやすくするためにちょっとダブってしまいました。

関連する問題