我已经在网站页脚创建了电子邮件订阅表单。但是问题是,当我单击关闭图标时,表单不会消失。
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"
});
答案 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
('https://feedburner.google.com/fb/a/mailverify?uri=12c55',
'popupwindow', 'scrollbars=yes,width=550,height=520');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";
});
基本上,您需要修复元素的名称。 让我知道它是否有效:)