打开一个时关闭所有其他DIVS

杰夫

我想要实现的是以下内容

  1. 有两个带下拉列表的DIVS。我需要在打开另一个单击功能时关闭一个。

  2. 一旦事件不在下拉框中,我也试图将鼠标移出。

  3. 一旦点击甚至发生在下拉框之外,我想关闭DIV。

以下是HTML

<div class="first-div" style="display:inline-block">
<a class="first-div-link"><h6>REGION</h6></a>
        <div class="first-div-dropdown">
            <p>Drop down test from first DIV</p>
        </div>
</div>

<div id="second-div" style="display:inline-block; float:right">
    <a href="#" class="second-div-link"><h6>REGISTER</h6></a>
        <div class="second-div-dropdown">
            <p>Drop down test from second DIV</p>
        </div>  
</div>

CSS正在关注

.first-div-dropdown, .second-div-dropdown{
    background-color:#555;
    color:white;
    height:100px;
    width:200px;
}

JS正在关注

$(document).ready(function(){
    $('.first-div-dropdown').hide();
    $('.second-div-dropdown').hide();

    $('.first-div-link').on('click', function (event){
        $('.first-div-dropdown').slideDown(300);
    });

    $('.second-div-link').on('click', function (event){
        $('.second-div-dropdown').slideDown(300);
    });

});

有什么方法可以将此功能用作控制HTML中的多个DOM的功能吗?如果可以的话,有人可以在当前示例中为我提供帮助吗?

谢谢

丹尼

这里要遵循的路径是在项目上使用通用类,如果所有类都具有相同的样式并执行相同的操作,则无需创建新的类名。检查一下:

$(document).ready(function() {
  $('.cont-div').on('click', 'a', function(e) {
    e.preventDefault();
    $('.div-dropdown').slideUp(300);
    $(this).next('.div-dropdown').stop().slideToggle(300);
  });
  
  //To close if you click outside the container divs
  $('body').on('click', function(e) {
    if (!$(e.target).parents('.cont-div').length) {
      $('.div-dropdown').slideUp(300);
    }
  })
});
body {
  height: 600px;
  background: #e1e1e1;
}
.cont-div {
  display: inline-block;
  vertical-align: top;
  width: 50%;
}
.div-dropdown {
  background-color: #555;
  color: white;
  height: 100px;
  width: 200px;
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cont-div">
  <a href="#"><h6>REGION</h6></a>
  <div class="div-dropdown">
    <p>Drop down test from first DIV</p>
  </div>
</div><!--
--><div class="cont-div">
  <a href="#"><h6>REGISTER</h6></a>
  <div class="div-dropdown">
    <p>Drop down test from second DIV</p>
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我打开一个开关时,所有其他开关也打开

打开一个菜单时隐藏所有其他上下文菜单

传单地图:打开一个窗口时,如何阻止所有弹出窗口关闭?

当我打开一个标签时,如何关闭所有活动标签?

当您打开一个 XAML 时,带有用户控件的垂直左侧菜单(内部扩展器)必须关闭其他菜单

当用户打开一个下拉菜单时关闭其他下拉菜单

当一个打开的jQuery折叠时关闭其他

在 React JS 中打开一个元素时折叠其他元素

打开一个选项卡时如何删除其他选项卡

按下按钮即可关闭其他活动并打开一个新活动:Android Studio

如果关闭表单时没有打开任何表单,请打开一个特定的表单

使 JavaScript 可折叠关闭所有其他打开时

工具提示关闭所有内容,然后再打开一个新的,单击/悬停的组合

当一个 div 打开时,如何在所有其他 div 上设置折叠?

当我在 Nautilus 中打开一个文件夹时,所有文件都会重新排列

是否可以打开一个文件,允许其他进程删除该文件?

NW.js在事件发生时打开一个新窗口并关闭

C#打开一个表单并关闭它

尝试重新打开一个已经关闭的对象

使用javascript按下按钮时,如何打开一个窗口并关闭另一个窗口?

ReactJS 手风琴 - 在应该一次打开一个时打开所有手风琴

当我关闭/打开开关时,所有其他开关也会打开

当我关闭/打开开关时,所有其他开关也会打开

反应:当另一个子菜单打开时关闭其他子菜单

当其中一个面板手风琴打开时,关闭其他面板

ionic 4-在选择一个选项时获取离子切换值作为文本输入并关闭所有其他开关

使用jstree打开一个节点及其所有父节点

单击一个子元素时如何隐藏所有其他元素

当一个失败时,redux saga产生所有抵消其他效果