隐藏事件

时间:2016-03-25 20:26:39

标签: javascript jquery html

我尝试隐藏可见部分,然后使用JQuery .hide().show()显示隐藏部分。当事件触发时(点击图像时)它只会暂时隐藏可见部分,然后再次可见,之前隐藏的部分现在可见于第一个可见部分下方。根据我阅读的文档和一些教程,我已经注意到这不应该发生。

HTML:

<div class="transition-div">
<section class="project-section">
  <div class="project-wrapper" id="project-one">
    <div class="desc-text">
      <h2>Header</h2>

    </div>
    <div class="project-image-wrapper">
      <img class="project-image" id="project-img-one" src="images/img1.png">
      <button class="project-button">Button
    </button>
  </div>
  </div>
</section>

<section class="project-section hidden">
  <div class="project-wrapper">
    <div class="desc-text">
      <h2>Header</h2>

        <p>Some description text</p>

    </div>
    <div class="project-image-wrapper">
      <img class="project-image" src="images/img1.png">
  </div>
  </div>
</section>
</div>

JS:

$('.hidden').hide();

var slideSection = function() {

$('.project-image-wrapper').click(function() {

  var $parentDiv = $(this).parents('.transition-div');
  var $childToShow = $parentDiv.find('.hidden');
  var $childToHide = $childToShow.siblings('.project-section');

  $childToHide.hide(300, hideActiveSection());

  function hideActiveSection() {
    $childToHide.addClass('hidden');
    $childToShow.show(300, function() {
      $(this).removeClass('hidden');
    });
  }

  });

};

slideSection();

如果我单击当前可见的项目图像以显示它,我将如何持久保存我要隐藏的部分?我的CSS可能会干扰我想要做的事吗?如果是这样,我将发布代码。谢谢!

0 个答案:

没有答案