我正在尝试添加关闭功能

时间:2019-03-09 13:32:28

标签: javascript html code-snippets

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

get_context_data
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"
});

2 个答案:

答案 0 :(得分:1)

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

可以通过在要触发您定义的点击功能的thr标签中添加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>

答案 1 :(得分:0)

您要以此为目标?

var t = document.querySelector(div.getAttribute("data-target"));

您的代码应为:

<div id="popup" class="hook-section js-common-hook">    //your box

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

然后:

var button = document.querySelector("#close");
button.addEventListener("click", function() {
  var t = document.querySelector("#popup"));
  t.style.display = "none";
});

基本上,您需要修复元素的名称。 让我知道它是否有效:)