首页 > 解决方案 > 我正在尝试添加关闭功能

问题描述

我在网站页脚创建了一个电子邮件订阅表格。但问题是,当我点击关闭图标时,表单并没有消失。

var button = document.querySelector("#close");
button.addEventListener("click", function() {
  var t = document.querySelector(div.getAttribute("data-target"));
  t.style.display = "none" == t.style.display ? "block" : "none"
});
<div class="hook-section js-common-hook">
  <div class="hook-content small-hook-show">
    <div class="loader">
      Loading...
    </div>
    <div class="hook-close-btn sprite-img">Close</div>
    <div class="top-sec clearfix">
      <div class="left-sec sprite-img">
      </div>
      <div class="right-sec">
        <h5>Email Newsletter</h5>
        <p>The best of technology updates from India and around the world</p>
      </div>
    </div>
    <div class="bootom-sec">
      <form class="hook-form" action='https://feedburner.google.com/fb/a/mailverify?uri=TechLekhak' method='post' onsubmit='window.open
    (&apos;https://feedburner.google.com/fb/a/mailverify?uri=12c55&apos;,
     &apos;popupwindow&apos;, &apos;scrollbars=yes,width=550,height=520&apos;);return true' target='popupwindow'>
        <input placeholder="Enter your email id" name="email" type="text" />
        <input value="12c55" name="uri" type="hidden" />
        <input value="en_US" name="loc" type="hidden" /><button class="subs-btn">Subscribe Now</button>
      </form>
    </div>
  </div>
</div>

标签: javascripthtmlcode-snippets

解决方案


您将错误的内容与查询选择器匹配。您正在尝试获取具有“关闭”ID 的元素,但您的代码中没有。

这可以通过添加id="close"到您想要触发您定义的点击功能的 thr 标记来安排

例子 :

<div id="close" class="hook-close-btn sprite-img">Close</div>

与您要关闭的项目匹配的查询选择器也会发生同样的情况......它不存在,您需要对其进行调整

您可以更改id="toggle"页面周围以查看这些元素是打开和关闭的元素

这是一个片段

var toggler = document.querySelector("#close");
toggler.addEventListener("click", function() {
  var toggleElement = document.querySelector("#toggle");
  if (!toggleElement.style.display || toggleElement.style.display === "block") {
    toggleElement.style.display = "none";
  } else {
    toggleElement.style.display = "block";
  }
});
<div class="hook-section js-common-hook">
  <div class="hook-content small-hook-show">
    <button id="close" class="hook-close-btn sprite-img">Close</button>
    <div class="top-sec clearfix">
      <div class="left-sec sprite-img">
      </div>
      <div class="right-sec">
        <h5>Email Newsletter</h5>
        <p>The best of technology updates from India and around the world</p>
      </div>
    </div>
    <div class="bootom-sec">
      <form id="toggle" class="hook-form" action='https://feedburner.google.com/fb/a/mailverify?uri=TechLekhak' method='post' onsubmit='window.open
    (&apos;https://feedburner.google.com/fb/a/mailverify?uri=12c55&apos;,
     &apos;popupwindow&apos;, &apos;scrollbars=yes,width=550,height=520&apos;);return true' target='popupwindow'>
        <input placeholder="Enter your email id" name="email" type="text" />
        <input value="12c55" name="uri" type="hidden" />
        <input value="en_US" name="loc" type="hidden" /><button class="subs-btn">Subscribe Now</button>
      </form>
    </div>
  </div>
</div>


推荐阅读