2016-05-27 9 views
-3

私は別のdivをクリックして切り替えると、新しいdivが表示されたときにイメージを含むdivを非表示にするdiv内のイメージを持っています。 abreInfo()だけを使うと動作しますが、コンテナdivも隠したいと思っています。どうしたらいいですか? abreInfoインサイド別のトグルでdivを非表示にするにはどうすればいいですか?

function abreInfo(event, id){ 
      event.preventDefault(); 
      $("#"+id).toggle("slow"); 
     } 

function fechardiv(div){   document.getElementById(div).style.display="none"; 
} 

http://codepen.io/Ryuh/pen/BzaNLL

+0

からabreInfo()機能を削除http://stackoverflow.com/questions/37487780/how-to-hide-a-div-when-another-toggles/37488153#37488153([この答えをチェックしてください] ) –

答えて

0

()$(event.currentTarget).closest('div').hide()を追加します。

.closest()は、セレクタに一致する最初の祖先を取得します。コンテナにクラスがあることを確認して、正しい要素に当たったことを確認します。

function abreInfo(event, id) { 
    event.preventDefault(); 
    $("#"+id).toggle("slow"); 
    $(event.currentTarget).closest('div').hide("slow"); 
} 
0

$('#container').on('click', function() { 
    $(this).hide(); 
    $('#id').show(); 
}); 

完全なコードabreInfo()機能の必要はありません。画像を隠した後に次のdivを表示したいだけの場合。このようなあなたの機能を使いましょう。またonclicklike this

function fechardiv(div){   
    $("#"+div).hide(); 
    $("#"+div).next().fadeIn(); 
} 
関連する問題