javascript - 我正在尝试添加关闭功能

标签 javascript html code-snippets

我已在网站页脚创建了电子邮件订阅表格。但问题是,当我单击关闭图标时,表单不会消失。

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>

最佳答案

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

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

示例:

<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>

关于javascript - 我正在尝试添加关闭功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55077852/

相关文章:

javascript - 存储错误 Laravel 5.1

javascript - 设置显示元素中文本的最大长度

javascript - 将文本框转换为任何其他 html 元素

php - 在一个查询 API 和 PHP 中插入或更新

c# - 从具有可变数量参数的代码片段创建方法

javascript - 从球形投影 map 上的纬度获取 Y 位置

javascript - 将不同的表单选项卡作为一个表单处理

python - 在Python的支配模块中处理文本和换行符

.net - 我如何从代码段中逃脱? (Vb.Net)

javascript - 使用 jQuery 拖动和排序 div 并输出 html 代码