当前位置: 首页 > 知识库问答 >
问题:

从菜单项而非顶级菜单触发模态卡-HTML、CSS、JS

宇文良骏
2023-03-14

我对编码还不熟悉,希望有人能帮助我理解哪里出了问题。我在从导航栏项目获取模式卡弹出窗口以触发时遇到问题。到目前为止,我所尝试的一切都会触发顶部菜单项的模态。下拉列表中的每个导航栏项都有一个指向模式卡的链接<提前感谢您的帮助!!

const item = document.querySelector(".navbar-item");
const modalBg = document.querySelector('.modal-background');
const modal = document.querySelector('.modal');

item.addEventListener('click', () => {
  modal.classList.add('is-active');
});

modalBg.addEventListener('click', () => {
  modal.classList.remove('is-active');
});
html lang-html prettyprint-override"><section>
  <nav class="navbar has-shadow" role="navigation" aria-label="dropdown navigation" id="navbar_link_modal">
    <div class="navbar-brand">
      <a class="navbar-burger" id="burger">
        <span></span>
        <span></span>
        <span></span>
      </a>
    </div>
    <div class="navbar-menu" id="nav-links">
      <div class="navbar-start">
        <div class="navbar-item has-dropdown is-hoverable">
          <a class="navbar-link" data-target="#modal">Ford</a>
          <div class="navbar-dropdown">
            <a class="navbar-item">
                                Explorer
                            </a>
            <a class="navbar-item" href="#framingLumber">
                                Focus
                            </a>
            <a class="navbar-item">
                                Flex
                            </a>
            <a class="navbar-item">
                                F-150
                            </a>
            </a>
          </div>
        </div>
      </div>
    </div>
  </nav>
</section>

<div class="modal is-active" id="modal">
  <div class="modal-background"></div>
  <div class="modal-card" id="framingLumber">
    <header class="modal-card-head">
      <p class="modal-card-title">Modal title</p>
      <button class="delete" aria-label="close"></button>
    </header>
    <section class="modal-card-body">
      <!-- Content ... -->
    </section>
    <footer class="modal-card-foot">
      <button class="button is-success">Save changes</button>
      <button class="button">Cancel</button>
    </footer>
  </div>
</div>

共有1个答案

杨波娃
2023-03-14

您在顶层菜单中将您的modal定位为data-Target="#modal",这是错误的,因为没有带有id'modal'的元素。您需要在菜单项中以data-Target="#framingLumber"的形式执行此操作,其中framingLumber是您的modal的id,并且不需要href。所以你的代码看起来像这样:

<div class="navbar-menu" id="nav-links">
    <div class="navbar-start">
        <div class="navbar-item has-dropdown is-hoverable">
            <a class="navbar-link">Ford</a>
                <div class="navbar-dropdown">
                    <a class="navbar-item">Explorer</a>
                    <a class="navbar-item" data-target="#framingLumber">Focus</a>
                    <a class="navbar-item">Flex</a>
                    <a class="navbar-item">F-150</a>
                </div>
            </a>
        </div>
    </div>
</div>
 类似资料:
  • 我仍然无法正确地从导航栏项目中触发模式卡弹出窗口。我已经做了建议的更改,但是当我单击下拉菜单中的导航栏项目时,该div弹出的所有模式卡都会显示出来。 下拉列表中的每个导航栏项目都应链接到一个模式卡,单击该项目时,只有该卡会弹出。无论单击发生在何处,所有模式卡都会层叠出现。 数据目标引用已移动到导航栏项,但所有div modals都会弹出,即使在单击顶部导航栏时也是如此。尝试使用菜单项上的href并

  • 问题内容: 我正在使用SmartMenus创建一个下拉菜单。但是,我想动态创建菜单。React应用程序将向API服务器查询JSON代码,并从中构建一个菜单。我试图找出一种将JSON代码转换为HTML / JSX代码的方法: 从API检索到的JSON代码如下所示: 基于此JSON数据,我想生成以下HTML / JSX代码: 鉴于我正在使用多个级别的菜单,在React中混合使用JSX和html元素的有

  • 我在Confluence上运行的HTML/CSS主题上实现了以下菜单。 默认情况下,我正在运行的主题提供了激活所有菜单项的下拉菜单的选项。但是,我希望只为其中一个菜单项显示下拉菜单。 该主题没有提供切换特定菜单项下拉列表的选项,这就是为什么我不得不求助于自定义CSS。 与发行说明菜单项对应的HTML如下-- 此外,添加以下自定义CSS将删除所有菜单项的下拉菜单。 我希望CSS有条件地不显示RELE

  • 在程序菜单或上下文菜单中插入新的菜单项 进程: 主进程​ 您可以在 Menu末尾查看示例. new MenuItem(options) options Object click Function (可选) - 单击菜单项被调用 click(menuItem,browserWindow) menuItem MenuItem browserWindow BrowserWindow event Even

  • 菜单项 添加菜单项到应用程序菜单和上下文菜单中 进程:主进程 有关示例, 请参见 Menu。 Class: MenuItem Add items to native application menus and context menus. Process: Main See Menu for examples. new MenuItem(可选) 参数 Object click Function (

  • 菜单项 添加菜单项到应用程序菜单和上下文菜单中 进程:主进程 有关示例, 请参见 Menu。 new MenuItem(options) 选项 对象 click 函数(可选) - 单击菜单项时,将用 click(menuItem, browserWindow, event) 调用。 menuItem MenuItem browserWindow BrowserWindow |未定义 - 如果没有打