javascript - jQuery btn 在激活时关闭 div

标签 javascript jquery toggle

我需要 .menu 按钮来关闭 .slides 容器(如果它是由 [name= 之一打开的)切换器] 单选按钮。

因此,如果 .slide 的状态为 show 并且单击 .menu 按钮,则隐藏 .slides.

.slides 只能通过 [name=toggler] 单选按钮打开,但可以通过单击 .menu 按钮隐藏.

$('.menu-btn').click(function() {
  $(".menu").toggle("slide");
});
$(function() {
  $("[name=toggler]").click(function() {
    $('.slide').hide();
    $("#blk-" + $(this).val()).show();
  });
});
.flex,
.btn-wrap {
  display: flex;
}

.menu,
.slide {
  display: none;
}

.btn,
.menu-btn {
  padding: 20px;
  border: 1px solid silver;
  cursor: pointer
}

.slide {
  height: 50px;
  width: 50px;
  border: 1px solid;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="flex">
  <a href="#" class="menu-btn">Menu</a>
  <div class="menu">
    <div class="btn-wrap">
      <label class="btn"><input type="radio" name="toggler" value="1"/>Slide 1</label>
      <label class="btn"><input type="radio" name="toggler" value="2"/>Slide 2</label>
    </div>
  </div>
</div>
<div class="slides">
  <div class="slide" id="blk-1">
    Slide 1
  </div>
  <div class="slide" id="blk-2">
    Slide 2
  </div>
</div>

最佳答案

只需检查 .menu-btn 点击,.slide div 是否可见。如果可见隐藏它也取消选中单选按钮。

这是代码笔:https://codepen.io/johnsackson/pen/NMNmyb

$(".menu-btn").click(function() {
  $(".menu").toggle("slide");
  if($(".slide").is(":visible")) {
    $(".slide").hide();
    $("[name=toggler]").prop("checked", false);
  }
});
$(function() {
  $("[name=toggler]").click(function() {
    $(".slide").hide();
    $("#blk-" + $(this).val()).show();
  });
});

希望这有帮助。

关于javascript - jQuery btn 在激活时关闭 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50011471/

相关文章:

javascript - 如何缩放和旋转由带有 Canvas 的 html5 GetUserMedia API 流式传输的网络摄像头视频?

javascript - 如何使用 POST 提交

javascript - 在 Javascript 中创建 key => values 数组的正确方法是什么

javascript - onclick 和类切换问题?

javascript - 将事件类添加到当前事件链接

javascript - 在 Javascript 中创建数学函数的图形,该函数随着函数中变量的变化而动态变化

javascript - 使用 jquery validation engine master 验证星级

javascript - 使用 Chrome 模拟 JQuery 中的链接单击 - 同时使用 href 和下载

javascript - onclick ="$(' #id').toggle( )"didn' 不起作用,需要为 Chrome 旧版本重写

jquery-ui - 如何确定 jQuery toggle() 的当前状态