当另一个切换时如何隐藏div?

时间:2016-05-27 15:55:27

标签: javascript html css toggle hide

我在div中有一个图像,点击切换另一个div,我想在新div出现时隐藏包含图像的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

3 个答案:

答案 0 :(得分:0)

在abreInfo()内添加$(event.currentTarget).closest('div').hide()

.closest()获得与选择器匹配的第一个祖先。我确保容器有一个类,以确保你找到正确的元素。

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

答案 1 :(得分:0)

你可以更简单地使用jQuery这样做:

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

这里的完整代码https://jsfiddle.net/yLhq7ga6/

答案 2 :(得分:0)

无需abreInfo()功能。如果你只想在隐藏图像后显示下一个div。只需使用这样的功能。同时从abreInfo() like this

中删除onclick功能
function fechardiv(div){          
  $("#"+div).hide();
  $("#"+div).next().fadeIn();
}