当页面滚动到 50px 时显示模态弹出
modal pop up to be displayed when the page is scrolled to 50px
当用户点击关闭弹出窗口后,弹出窗口完成点击关闭时,我使用 cookie 存储值,弹出窗口不应再次显示。但我在这方面遇到了问题。每当我滚动时弹出窗口都会打开,即使我已经关闭了它。
<div id="fsModal" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<button type="button" id="cross-btn" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<div id="desk-view" class="modal-body">
<div id="pop-up" class="row">
<div class="arrow_box side-heading col-xs-5 col-sm-5">
<h3>Join the Movement, the newsletter that tackles the justice issues that matter to you most.</h3>
</div>
<div class="right-form col-xs-7 col-sm-7">
<form class="form-inline subscribe-form">
<div class="form-group">
<input class="email-popup" placeholder="Enter your email" name="email-input">
<button class="btn-form">Sign up</button>
</div>
</form>
</div>
</div>
</div>
<div id="mobil-view" class="modal-body">
<div class="pop">
<div class="side-heading">
<h3>Join the Movement, the newsletter that tackles the justice issues that matter to you most.</h3>
</div>
<div class="right-form">
<form class="form-inline subscribe-form">
<div class="form-group">
<input class="email-popup" placeholder="Enter your email" name="email-input">
<button class="btn-form">Sign up</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
$('#fsModal').on('hidden.bs.modal', function (e) {
$.cookie('close_popup' , '10' , { expires : 7 });
});
var scroll_function = getCookie("close_popup");
$(window).scroll(function(){
if (scroll_function == " ") {
if ($(this).scrollTop() >= 50) {
$("#fsModal").modal('show');
}
}
});
您可能想试试这个,为什么要为此使用 cookie?
var ClosePopUp = false;
$('#fsModal').on('hidden.bs.modal', function (e) {
ClosePopUp = true;
});
$(window).scroll(function(){
if ($(this).scrollTop() >= 50 && ClosePopUp == false) {
$("#fsModal").modal('show');
}else {
$("#fsModal").modal('hide');
}
});
试试这个:
Html:
<input type="hidden" id="is_close" value="0">
<div id="dialog">
</div>
Jquery:
$(window).on('scroll', function() {
scrollPosition = $(this).scrollTop();
if(scrollPosition > 50 && $('#is_close').val() == 0 )
{
$('#dialog').dialog({
buttons: [
{
text: "Close",
click: function() {
$( this ).dialog( "close" );
$('#is_close').val('1');
}
}
]
});
}
});
我正在为此使用 jQuery 插件(jQuery cookie),您可以从 https://github.com/js-cookie/js-cookie
获得相同的插件
首先在主页加载事件中将 cookie 设置为 false
Cookies.set('ClosePopUp', 'false'); // set this only on home page load event
那么您需要在关闭模型上设置 Cookies
$('#fsModal').on('hidden.bs.modal', function (e) {
Cookies.set('ClosePopUp', 'true');
});
在滚动后检查相同的
$(window).scroll(function(){
if ($(this).scrollTop() >= 50 && Cookies.get('ClosePopUp') != 'true' ) {
$("#fsModal").modal('show');
}else {
$("#fsModal").modal('hide');
}
});
终于在您注销时删除 cookies..
Cookies.remove('ClosePopUp');
==== 为 Cookies.js 的早期版本编辑 =====
首先在主页加载事件中将 cookie 设置为 false
$.cookie('ClosePopUp', 'false',{ path: '/' }); // set this only on home page load event
那么您需要在关闭模型上设置 Cookies
$('#fsModal').on('hidden.bs.modal', function (e) {
$.cookie('ClosePopUp', 'true',{ path: '/' });
});
在滚动后检查相同的
$(window).scroll(function(){
if ($(this).scrollTop() >= 50 && $.cookie('ClosePopUp') != 'true' ) {
$("#fsModal").modal('show');
}else {
$("#fsModal").modal('hide');
}
});
最后在您注销时删除 cookies..
$.removeCookie('ClosePopUp');
当用户点击关闭弹出窗口后,弹出窗口完成点击关闭时,我使用 cookie 存储值,弹出窗口不应再次显示。但我在这方面遇到了问题。每当我滚动时弹出窗口都会打开,即使我已经关闭了它。
<div id="fsModal" class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<button type="button" id="cross-btn" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<div id="desk-view" class="modal-body">
<div id="pop-up" class="row">
<div class="arrow_box side-heading col-xs-5 col-sm-5">
<h3>Join the Movement, the newsletter that tackles the justice issues that matter to you most.</h3>
</div>
<div class="right-form col-xs-7 col-sm-7">
<form class="form-inline subscribe-form">
<div class="form-group">
<input class="email-popup" placeholder="Enter your email" name="email-input">
<button class="btn-form">Sign up</button>
</div>
</form>
</div>
</div>
</div>
<div id="mobil-view" class="modal-body">
<div class="pop">
<div class="side-heading">
<h3>Join the Movement, the newsletter that tackles the justice issues that matter to you most.</h3>
</div>
<div class="right-form">
<form class="form-inline subscribe-form">
<div class="form-group">
<input class="email-popup" placeholder="Enter your email" name="email-input">
<button class="btn-form">Sign up</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
$('#fsModal').on('hidden.bs.modal', function (e) {
$.cookie('close_popup' , '10' , { expires : 7 });
});
var scroll_function = getCookie("close_popup");
$(window).scroll(function(){
if (scroll_function == " ") {
if ($(this).scrollTop() >= 50) {
$("#fsModal").modal('show');
}
}
});
您可能想试试这个,为什么要为此使用 cookie?
var ClosePopUp = false;
$('#fsModal').on('hidden.bs.modal', function (e) {
ClosePopUp = true;
});
$(window).scroll(function(){
if ($(this).scrollTop() >= 50 && ClosePopUp == false) {
$("#fsModal").modal('show');
}else {
$("#fsModal").modal('hide');
}
});
试试这个:
Html:
<input type="hidden" id="is_close" value="0">
<div id="dialog">
</div>
Jquery:
$(window).on('scroll', function() {
scrollPosition = $(this).scrollTop();
if(scrollPosition > 50 && $('#is_close').val() == 0 )
{
$('#dialog').dialog({
buttons: [
{
text: "Close",
click: function() {
$( this ).dialog( "close" );
$('#is_close').val('1');
}
}
]
});
}
});
我正在为此使用 jQuery 插件(jQuery cookie),您可以从 https://github.com/js-cookie/js-cookie
获得相同的插件首先在主页加载事件中将 cookie 设置为 false
Cookies.set('ClosePopUp', 'false'); // set this only on home page load event
那么您需要在关闭模型上设置 Cookies
$('#fsModal').on('hidden.bs.modal', function (e) {
Cookies.set('ClosePopUp', 'true');
});
在滚动后检查相同的
$(window).scroll(function(){
if ($(this).scrollTop() >= 50 && Cookies.get('ClosePopUp') != 'true' ) {
$("#fsModal").modal('show');
}else {
$("#fsModal").modal('hide');
}
});
终于在您注销时删除 cookies..
Cookies.remove('ClosePopUp');
==== 为 Cookies.js 的早期版本编辑 =====
首先在主页加载事件中将 cookie 设置为 false
$.cookie('ClosePopUp', 'false',{ path: '/' }); // set this only on home page load event
那么您需要在关闭模型上设置 Cookies
$('#fsModal').on('hidden.bs.modal', function (e) {
$.cookie('ClosePopUp', 'true',{ path: '/' });
});
在滚动后检查相同的
$(window).scroll(function(){
if ($(this).scrollTop() >= 50 && $.cookie('ClosePopUp') != 'true' ) {
$("#fsModal").modal('show');
}else {
$("#fsModal").modal('hide');
}
});
最后在您注销时删除 cookies..
$.removeCookie('ClosePopUp');