javascript - jQuery 管理许多切换

标签 javascript jquery slidetoggle

我需要对太多的 div 使用 slideToggle() 来显示和隐藏它们。

这是我的代码,它无法正常工作:

$(".account-update").hide();
$(".account-update-pwd").hide();

$(".slide-toggle").click(function() {
    $(".account-update").slideToggle();
    $(".account").slideToggle();
});
$(".slide-toggle-pwd").click(function() {
    $(".account-update-pwd").slideToggle();
    $(".account-update").slideToggle();
});

HTML:

<a href="#" class="slide-toggle">Update Account</a>
<a href="#" class="slide-toggle-pwd">Change Password</a>

最佳答案

我已经用下面一个很好的通用解决方案更新了您的代码

$(".account-update").hide();
$(".account-update-pwd").hide();

$("a.slide-toggle").click(function() {
  var targetDiv = $($(this).attr('data-selector'));
  var otherDivs = $("div.slide-toggle").not(targetDiv);
  
  otherDivs.each(function(){
    if($(this).is(':visible')) {
      $(this).slideToggle();
    }
  });
  
  targetDiv.slideToggle(function(){
    if($("div.slide-toggle:visible").length === 0) {
      $(targetDiv.attr('data-default')).slideToggle();
    }
  });
});
div {
  height: 100px;
}

.account {
  background-color: red;
  color: white;
}

.account-update {
  background-color: green;
  color: white;
}

.account-update-pwd {
  background-color: blue;
  color: white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slide-toggle account">Account Div</div>
<p><a href="#" class="slide-toggle" data-selector=".account-update">Update Account</a></p>
<div class="slide-toggle account-update" data-default=".account">Account Update Div</div>
<p><a href="#" class="slide-toggle" data-selector=".account-update-pwd">Change Password</a></p>
<div class="slide-toggle account-update-pwd" data-default=".account">Account Password Update Div</div>

关于javascript - jQuery 管理许多切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40649302/

相关文章:

javascript - 如何从 DIV 中获取选中的文本

javascript - 如何删除加载的脚本并添加新脚本?

javascript - 如何使用jquery隐藏父元素?

jQuery 滑动切换,关闭其他 Accordion 类型?

php - 为什么 jQuery 在我的网站上不起作用?

javascript - 如何使用自定义字母表生成 GUID,其行为类似于 MD5 哈希(在 JavaScript 中)?

javascript - 有没有一种简单的方法可以使用 API 数据更新 CSV?

javascript - 如何获取 jQuery `$(this)` id?

javascript - Bootstrap 下拉选项卡不起作用

javascript - 多个下拉菜单滑动切换