如何一次只打开 1 个手风琴

2023-12-07

$('.accordion').on('click', '.accordion-control', function(e){
    e.preventDefault();
    $(this)
    .next('.accordion-panel')
    .not(':animated')
    .slideToggle();
});
<ul class="accordion">
        <li>
    <button class="accordion-control">Something</button>
    <div class="accordion-panel">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    </div>
        </li>

        <li>
    <button class="accordion-control">Something</button>
    <div class="accordion-panel">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    </div>
        </li>
</ul>

我的手风琴工作得很好。但我希望用户一次只能打开一个手风琴。当一个手风琴打开时,用户无法打开另一个手风琴。这是简单的 jQuery,没有使用其他库或框架。我还包含了 HTML 文件的一部分,您可以查看。


只需关闭所有这些并打开用户单击的那个即可:

$('.accordion-control').click(function(){
   $(".accordion-panel").slideUp();
   $(this).next('.accordion-panel').slideToggle();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="accordion">
        <li>
    <button class="accordion-control">Something</button>
    <div class="accordion-panel">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    </div>
        </li>

        <li>
    <button class="accordion-control">Something</button>
    <div class="accordion-panel">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    </div>
        </li>
</ul>

这与以下内容相关:JS SlideToggle 关闭其他打开的div

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何一次只打开 1 个手风琴 的相关文章

  • Iframe 相对路径挑战

    我有一个页面 在页面内有一个 Iframe 目录如下 Folder1 Folder2 IframeCSS IframeCSS Css iframePage1 html stuff css parentPage1 html 在 iframeP
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • 如何使用 JQuery 动态排序

    如果我有一个下拉列表和一个列表框 有没有办法使用 JQuery 根据下拉列表对列表框进行排序 举个例子会很有帮助 这会改变下拉菜单中的顺序 您必须根据自己的标准设置顺序
  • 如何阻止破折号自行包裹?

    我有一个标题 标题最后一个单词的末尾是一个破折号 单词和破折号之间没有空格 当浏览器窗口变小时 破折号会中断并换成新行 在自己的行上有一个破折号是不好的排版 如何停止破折号之前的换行 以便最后一个单词运行到新行 这是代码 h1 XYZ co
  • jQuery 获取元素内的鼠标位置

    我希望制作一个控件 用户可以在 div 内单击 然后拖动鼠标 然后松开鼠标以指示他们想要的内容有多长 这是针对日历控件的 因此用户将指示特定事件的时间长度 看起来最好的方法是在父 div 上注册一个 mousedown 事件 而父 div
  • 如何在没有@import的情况下减少@import?

    我用的较少 从 Google PageSpeed 我了解到 使用 importCSS 文件中的内容会影响网站速度 所以我想排除任何 import来自我的 CSS 的东西 我有 2 个不同的样式表reset css and rebuild c
  • 如何获取给定 DOM 元素的所有定义的 CSS 选择器?

    如何使用 jQuery 获取给定 DOM 元素的所有定义的 CSS 选择器 定义后 我的意思是在应用于任何样式表的所有 CSS 选择器document 在某种程度上 这类似于 FireBug 实现的功能 其中显示所选 DOM 元素的所有应用
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如
  • 更改文本输入标签中文本的大小?

    我有一个很大的文本输入框 但我无法更改字体大小
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win
  • jQuery 对象相等

    如何确定两个 jQuery 对象是否相等 我希望能够在数组中搜索特定的 jQuery 对象 inArray jqobj my array 1 alert deviceTypeRoot deviceTypeRoot False alert d

随机推荐

  • 如何制作一个不会被优化掉的无限空循环?

    The C11标准似乎暗示具有常量控制表达式的迭代语句不应被优化 我的建议来自这个答案 其中特别引用了标准草案中的第 6 8 5 节 其控制表达式不是常量表达式的迭代语句 可以由实现假定终止 在那个答案中它提到了一个像这样的循环while
  • C++向量,这段代码是什么意思?

    我有这个代码 const int maxnodes 5000 struct Edge int to rev int f cap vector
  • 如何在快速滚动时自定义 Alpha 索引器

    我有一个ListView with AlphaIndexer实施使用SectionIndexer 我想知道是否可以自定义快速滚动时显示的 Alpha 索引器框 即更改其颜色 背景 文本字体 颜色等 例如 Edited或者 当该框与FastS
  • 隐藏 NULL 行组 JasperReports

    有没有办法在 Crosstab 中隐藏具有 NULL 值的行组 None
  • 是否有相当于 data.table::rleid 的 dplyr?

    data table提供了很好的便利功能 rleid对于游程编码 library data table DT data table grp rep c A B C A B c 2 2 3 1 2 value 1 10 rleid DT gr
  • 如何在 Weblogic 12c (12.1.3) 上部署 Spring Boot 应用程序?

    我正在尝试在 Weblogic 12c 12 1 3 上部署一个简单的 Spring Boot 应用程序 在开发人员环境中它确实可以完美运行 然而 当需要在战争中重新包装它并将其附加到耳朵上时 这似乎无法正确部署 这是堆栈跟踪
  • MySQL |如何让每个类别只选择一条记录?

    我有一个表 其中包含带有数据的记录 每个记录都属于一个类别 假设我有以下表格 ID Category Title Date 1 Cat 1 Ttl 1 2013 02 18 2 Cat 2 Ttl 2 2013 02 18 3 Cat 1
  • Laravel Pusher array_merge:期望参数 2 是一个数组,给定 null

    我正在按照 Pusher 的教程在网站上显示通知 一切都符合教程 但是当我尝试访问通知时 出现了这个特定的错误localhost 8000 test我不知道如何解决它 错误信息 预期结果 通知发送消息 输出 array merge 错误 相
  • SQL 视图中的动态架构名称

    我有两个数据集 一个是关于狗的数据 我的数据 第二个是匹配键的查找表 我无法控制这些数据 匹配的键定期更新 我想创建 Dog 数据集的视图 或实现相同目的的东西 它总是连接最近的匹配的键 此外 我需要能够内联引用它 就好像它是一张桌子一样
  • 请求期间出现意外异常

    我在用着apache cassandra 2 2 4 我有一个 4 四 节点集群 DC1 中的复制因子为 3 DC2 中的复制因子 1 其中 DC1 包含 3 三 个节点 DC2 包含 1 一 个节点 该集群中之前还有一些节点 但由于某种原
  • 使用SAF(存储访问框架)的Android SD卡写入权限

    经过大量关于如何在 SD 卡 android 5 及更高版本 中写入 和重命名 文件的发现后 我认为 android 提供的新 SAF 将需要获得用户的许可才能写入 SD 卡文件 我在这个文件管理器应用程序中看到ES文件浏览器最初它会按照以
  • 监视调用 Jest 中另一个函数的导入函数

    我试图监视由另一个函数调用的函数 这两个函数都驻留在外部文件中并导入 Funcs spec js import as Funcs from Funcs describe funcA gt it calls funcB gt jest spy
  • 如何制作这样的回归树?

    我想制作一棵如图所示的回归树 这棵树是用 Cubist 完成的 但我没有那个程序 我确实使用 R 和 Python 它似乎与 R 包 rpart 或 tree 不同 因为末端节点是线性公式而不仅仅是平均值 有什么办法可以使用 R 或其他一些
  • ASP.NET LinkBut​​ton OnClick 事件在主页上不起作用

    我有一个用户控件来处理用户登录到我的网站的情况 该用户控件作为快速登录框放置在所有页面的右上角 我遇到的问题是 在我的生产服务器上 我为登录和重置提供的 LinkBut ton 单击事件在回发后不会触发 OnClick 事件 就像它只是忘记
  • 使用 python 正则表达式删除括号之间的内容

    我有一个文本文件 例如 a abc b c d 我想删除这些括号之间的内容 and 所以输出应该是 abc 我删除了括号之间的内容 但无法删除这之间的内容 我试过下面的代码 import re with open data txt as f
  • Mac 上的 VBA (Excel) 词典?

    我有一个 Excel VBA 项目 该项目大量使用 Windows 脚本字典对象 我最近有一位用户尝试在 Mac 上使用它并收到以下错误 Compile Error Can t find project or library 这是使用的结果
  • 在网页上加载 javascript 时输入意外结束

    我的 输入意外结束 的情况与我迄今为止在 SO 和其他论坛中发现的所有情况有所不同 坦白说 我被困住了 我在 CentOS 机器上安装了 JBoss EAP 6 4 尝试在 Windows 7 机器上打开管理控制台 MS 的所有最新补丁 都
  • 为什么 emplace_back() 会有这样的行为?

    为什么 Base 在调用 emplace back 之后立即被调用 为什么在析构函数调用后可以访问 sayHello 为什么 Base 再次被调用 include
  • IE11 Selenium WebDriverException:无法导航。 (org.openqa.selenium.WebDriverException ...IWebBrowser2::Navigate2() 失败

    我是自动化测试新手 虽然我的 Selenium 测试在 Chrome 和 Firefox 上运行 但它们没有在 IE11 上运行 我做了下面详细说明的所有检查 但我不断遇到此错误 org openqa selenium WebDriverE
  • 如何一次只打开 1 个手风琴

    accordion on click accordion control function e e preventDefault this next accordion panel not animated slideToggle ul c