每个用户仅显示一次弹出窗口
Display a popout only once per user
这个问题
已经有了答案,但我仍然不确定它是如何工作的。
这是我的代码:
这是我的JavaScript:
<!--PopupScript-->
<script>
// you can use just jquery for this
$(document).ready(function(){
$('#overlay-back').fadeIn(500,function(){
$('#popup').show();
});
$(".close-image").on('click', function() {
$('#popup').hide();
$('#overlay-back').fadeOut(500);
});
});
</script>
这是 HTML:
<!--Popup Content-->
<div class="container-fluid">
<div id="overlay-back"></div>
<div id="popup">
<img src="Assets/images/Deep_Close.png" class="close-image" />
<form name="Mail_list" action="save.php" method="post">
<h4>Subscription</h4>
<br/>
<div class="form-group">
<label for="first_name">First Name: </label>
<input type="text" name="first_name" id="first_name" size="25" placeholder="First Name" autofocus required />
</div>
<div class="form-group">
<label for="last_name">Last Name: </label>
<input type="text" name="last_name" id="last_name" size="25" placeholder="Last Name" required />
</div>
<div class="form-group">
<label for="email">User Email: </label>
<input type="text" name="email" id="email" size="25" placeholder="Email" required />
</div>
<br/><br/>
<input type="submit" value="Submit Form">
<input type="reset" value="Reset Form">
</form>
</div>
</div>
此解决方案非常适合我需要它。问题是我不希望每次有人导航到主页时都显示弹出窗口,我希望弹出窗口在每个用户或会话中仅显示一次。我知道这可以通过使用"cookie"来实现,但我不知道如何将其合并到上面的JavaScript中。
任何帮助将不胜感激。谢谢。
您可以使用 localStorage。
例:
$('#overlay-back').fadeIn(500,function(){
if (localStorage.popupShown !== "true") {
$('#popup').show();
localStorage.popupShown = "true";
}
});
你可以试试
$(document).ready(function(){
if (sessionStorage.count==0) {
$('#overlay-back').fadeIn(500,function(){
$('#popup').show();
sessionStorage.count = 1;
});
}
$(".close-image").on('click', function() {
$('#popup').hide();
$('#overlay-back').fadeOut(500);
});
});
相关文章:
- 只有当选项卡/窗口有焦点时,页面才能每5秒刷新一次
- 每个用户只显示一次放大弹出窗口
- 如何使用jQuery一次关闭多个弹出窗口
- 窗口退出时的模式弹出窗口 - 重置一次
- 每个用户仅显示一次弹出窗口
- 弹出窗口不会根据需要在每个会话中显示一次(如客户端所述)
- jQuery Slider在jQuery弹出窗口中只初始化一次
- ASP.NET:每5分钟从代码后面调用一次弹出窗口
- Bootstrap弹出窗口只出现一次
- 我想在窗口加载后只调用一次JavaScript setInterval函数
- JavaScript - 弹出窗口仅打开一次
- 让窗口在一次单击触发两个页面重定向后保持焦点
- 简单模式弹出窗口显示每个会话一次
- PHP 正在鼠标移动到窗口上执行 JavaScript.它循环在一个函数上.我怎样才能让它只执行一次
- 仅在用户登录时显示一次弹出窗口
- 编辑我的脚本并添加一个jQuery cookie以仅显示一次弹出窗口
- 窗口大小调整仅有效一次
- jQuery一次触发所有模态窗口,即使具有不同的目标 #id
- 如何使模式窗口只显示一次
- Google Chrome扩展:只创建一次窗口