第一个通过 JavaScript 或 CSS 默认打开的手风琴

2024-04-02

我在 Shopify 产品页面中有 3 个手风琴,我打算在页面加载时默认展开第一个手风琴。页面加载后,单击其他手风琴应关闭所有以前打开的手风琴。我只想用纯 JavaScript(没有像 jQuery 这样的库)或 CSS 来做到这一点。我下面的代码只是确保第一个手风琴显示为展开的。您能在查看页面中的手风琴后帮助纠正我的代码吗https://wv3yau73hiyf9fhv-458195004.shopifypreview.com https://wv3yau73hiyf9fhv-458195004.shopifypreview.com?

 window.onload = function() {
  var accItem = document.getElementsByClassName('accordion__item');
  // Keep the first accordion open by default.
  for (i = 0; i < accItem.length; i++) {
    console.log("Within first for loop");
    accItem[0].click();
    accItem[i].addEventListener('click', toggleItem, false);
  }
  function toggleItem() {
    var itemClass = this.parentNode.className;
    for (i = 0; i < accItem.length; i++) {
      console.log("Within second for loop");
      accItem[i].className = 'accordion__item close';
    }
    if (itemClass == 'accordion__item close') {
        this.parentNode.className = 'accordion__item open';
    }
  }    
 };

使用页面上的浏览器控制台,我使用以下命令打开第一个手风琴:

let allAccordions = document.querySelectorAll(".accordion__item");
allAccordions[0].click();

是的,循环也是可能的:

for (var i = 0; i < allAccordions.length; i++) {
    if (i == 0) {
          allAccordions[i].click();
          break; // only the first, can stop looping.
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第一个通过 JavaScript 或 CSS 默认打开的手风琴 的相关文章

随机推荐

  • gulp 命令给出找不到模块的错误

    我正在尝试在 Windows 上设置基本的 aurelia 应用程序 我已遵循以下指示 http aurelia io get started html http aurelia io get started html 包括 安装节点js
  • 如何获取宿主元素引用?

    如何获取 Angular 2 中的宿主元素引用 就我而言 我想知道我的组件是否有焦点 您可以使用以下方式获取宿主元素引用 class MyComponent constructor private elRef ElementRef cons
  • 为什么我不应该有一个单一的整体实用程序库?

    我们有一些通用库 C 但我想这不是特定于平台或语言的 我们称它们为 A B 和 C 库 A 引用了 B 和 C 库 B 引用了第三方 DLL 库 C 是独立的 三个独立项目背后的想法是 每个库都有不同的功能 但随着时间的推移 库 A 或多或
  • mysql 使用另一个表中的值更新列

    我有两张桌子 看起来都像 id name value 1 Joe 22 2 Derk 30 我需要复制的值value from tableA to tableB基于每个表中的检查名称 对此有何建议UPDATE陈述 除了这个答案之外 如果您需
  • 连接表达式以获取数据帧的子集

    我正在尝试创建一个函数来计算子集数据框中列的平均值 这里的技巧是 我总是想要有几个子集条件 然后可以选择将更多条件传递给函数以进一步子集数据帧 假设我的数据如下所示 dat lt data frame var1 rep letters 26
  • Paster db init -c XXXX/development.ini 不适用于 CKAN 命令“db”不知道

    我是 CKAN 和 python 的第一次用户 我的大部分开发都是在 NET 我是第一次在 Windows 7 计算机上设置 CKAN 我正在尝试运行该行 paster db init c FOLDER NAME development i
  • PHP中如何获取最后修改的文件?

    我想创建一个列表 列出上次修改的文件的名称 http www searchr us web search 我想在我的主页上显示这些文件名 它们应该根据上次修改的文件进行更改 你可以使用这个功能 function listdir by dat
  • 调用未定义函数password_hash()

    我正在开发我的网站时 现在正在本地主机上运行 php 版本 5 4 16 我想用password hash 但我不断收到此错误 致命错误 调用未定义函数password hash dir to file php在线的123 为什么会发生这种
  • 如何加载目录中的所有文件?

    正如标题所说 如何加载目录中的每个文件 我对c 和lua都感兴趣 编辑 对于 Windows 我很高兴能得到一些真正的工作代码 尤其是 lua 我可以用 boost filesystem for c 来做 对于 Lua 你需要模块Lua文件
  • Heroku 30 秒超时(长外部查询)的解决方法

    注意 这篇文章中的某些内容可能不是最佳实践 被警告 我正在开发一个连接到微实例 AWS 服务器的管理仪表板 该数据库拥有数千万条记录 大多数查询都会在几秒钟内返回 但有些查询需要长达一两分钟的时间才能返回 这取决于我无法控制的一些事情 由于
  • GHC如何实现unsafePerformIO?

    从 开始unsafePerformIO并以 RTS libc 或操作系统 API 结束 GHC 如何实现 IO 我试图了解当标准前奏不可用时 IO 在 Haskell 中如何工作 例如 如果我们出于某种原因自己实现标准前奏 我原本希望在 G
  • 寻找参考nodejs,expressjs和mongodb应用程序用作模板

    我想构建一个 Nodejs 应用程序 并且正在寻找一个很好的参考应用程序来用作模板 理想情况下 该应用程序应具有以下功能 使用nodejs expressjs 和 mongodb 有一个用户认证子系统 我想下载这样一个应用程序并让它开箱即用
  • stylesheet_pack_tag 在使用 webpacker gem 的 Rails 5.1 中找不到 app/javascript/src/application.css

    当我尝试使用 webpacker 在新的 Rails 5 1 应用程序中加载页面时 收到此错误 我希望 webpacker 也能处理 CSS Started GET for 1 at 2017 09 01 12 20 23 0400 Pro
  • Git暂存区只是一个索引吗?

    Pro Git 一书说 暂存区域只是一个列表或索引 它说明了当某个文件发生变化时将提交哪些文件 git commit完成了 现在的名字index通常被称为 暂存区 但是如果我们修改文件foo txt这已经是回购协议的一部分 并使用git a
  • 在 Mathematica 中计算此递推关系的更有效方法

    Verbeia 对 Mathematica 中函数式编程风格的表现展开了一场相当有趣的讨论 在这里能找到它 在 Mathematica 中构建大型分块矩阵最有效的方法是什么 https stackoverflow com q 6867079
  • 实现 GLSurfaceView.Renderer 问题

    代码源自教程 我正在开始一些OpenGL ES 2 0对于Android系统 我从以下位置获取了以下代码 http developer android com training graphics opengl environment htm
  • 在 iOS 中,线程安全意味着什么?

    我经常遇到 线程安全 这个关键术语 并想知道它的含义 例如 在 Firebase 或 Realm 中 某些对象被视为 线程安全 线程安全到底意味着什么 线程不安全 是否允许多个线程同时修改任何对象 线程安全 如果任何对象不允许被多个线程同时
  • 为什么这个 Java 应用程序在 Mac 上运行缓慢,而不是在 PC 上运行? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我使用Java创建了一个应用程序 它在Windows平台上运行顺利 然而 当在配备 4960HQ 的 Macbook Pro Reti
  • 如何在Spring Data JPA中插入对象时添加引用表Id

    我一直在玩 JPA 遇到了这种情况 想知道如何解决这个问题 我有 2 个表 即公司和员工 所以这里一个员工只能为1家公司工作 因此 OneToOne单向映射是在Employee类中完成的 公司表中的公司详细信息已经存在 因此 当我尝试将记录
  • 第一个通过 JavaScript 或 CSS 默认打开的手风琴

    我在 Shopify 产品页面中有 3 个手风琴 我打算在页面加载时默认展开第一个手风琴 页面加载后 单击其他手风琴应关闭所有以前打开的手风琴 我只想用纯 JavaScript 没有像 jQuery 这样的库 或 CSS 来做到这一点 我下