Javascript 当用cookies单击按钮时,如何关闭弹出模式?
我正在使用插件JSCookie创建cookie。所以,我有一个引导模式,15秒后弹出,它是一个电子邮件订阅表单。我想要的是订阅按钮创建一个cookie,防止将来出现弹出窗口。我想我的逻辑可能是错误的。开发工具显示cookie,但我刷新了,弹出窗口仍然出现Javascript 当用cookies单击按钮时,如何关闭弹出模式?,javascript,jquery,twitter-bootstrap,cookies,js-cookie,Javascript,Jquery,Twitter Bootstrap,Cookies,Js Cookie,我正在使用插件JSCookie创建cookie。所以,我有一个引导模式,15秒后弹出,它是一个电子邮件订阅表单。我想要的是订阅按钮创建一个cookie,防止将来出现弹出窗口。我想我的逻辑可能是错误的。开发工具显示cookie,但我刷新了,弹出窗口仍然出现 <!-- Modal --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModa
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content" style="background-color: rgb(255, 241, 237);">
<div class="modal-body">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel" style="text-align: center;font-size: 60px; font-family: 'Allura', cursive;margin-top: 25px;">
Let's be mom friends!
</h4>
<h6 style="text-align: center; text-transform: uppercase; font-family: raleway;">
Subscribe today to receive exclusive MIM content updates directly to your inbox!
</h6>
<form style="padding:3px;text-align:center;" action="https://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open('https://feedburner.google.com/fb/a/mailverify?uri=blogspot/CqrSa', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true">
<p style="font-family: raleway; text-transform: uppercase; margin-top: 20px;">
Enter your email address:
</p>
<p>
<input type="text" style="width:250px" name="email"/>
</p>
<input type="hidden" value="blogspot/CqrSa" name="uri"/>
<input type="hidden" name="loc" value="en_US"/>
<input type="submit" value="Subscribe" class="btn btn-primary" id="sub-button" style="font-family: raleway; text-transform: uppercase; margin-bottom: 25px;"/>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
setTimeout(function() {
$('#myModal').modal();
}, 15000);
</script>
×;
让我们做妈妈的朋友!
立即订阅,即可将独家MIM内容更新直接发送到您的收件箱!
输入您的电子邮件地址:
setTimeout(函数(){
$('#myModal').modal();
}, 15000);
..其他JS库在此
<!-- Latest js-cookie-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.1.2/js.cookie.js"> </script>
<script>
jQuery(document).ready(function($) {
$("#sub-button").click(function () {
Cookies.set('hide-div', true, { expires: 365 });
});
});
</script>
jQuery(文档).ready(函数($){
$(“#子按钮”)。单击(函数(){
set('hide-div',true,{expires:365});
});
});
我认为在调用setTimeout(…)
函数之前,您没有检查是否已经设置了cookie。你可以试试这样的-->
这确保只有当
hide div
cookie设置为true
时,才会执行setTimeout
,例如:
$(document).ready(function(){
if(!Cookies.get('hide-div')){
setTimeout(function() {
$('#myModal').modal();
}, 15000);
}
$("#sub-button").click(function () {
Cookies.set('hide-div', true, { expires: 365 });
});
});
这样,如果客户端已将“隐藏div”cookie设置为true,则模式将不会打开。听起来最好使用电子邮件表单提交隐藏。谢谢,这非常有用。成功了:)再次感谢。
$(document).ready(function(){
if(!Cookies.get('hide-div')){
setTimeout(function() {
$('#myModal').modal();
}, 15000);
}
$("#sub-button").click(function () {
Cookies.set('hide-div', true, { expires: 365 });
});
});