オーバーレイを追加するために次のコードを追加しています
$(function () {
{
$('#overlay').fadeIn('fast', function () {
$('#overlaybox').animate({ 'top': '90px' }, 500);
//$('#box').css("top", (($(window).height() - this.outerHeight()) / 2) + $(window).scrollTop() + "px");
$('#overlaybox').css("left", (($(window).width() - $('#overlaybox').outerWidth()) / 2) + $(window).scrollLeft() + "px");
$('#nabshow').fadeOut('fast');
})
}
});
Cookieの可用性に基づいてポップアップを開くための次のコードを見つけました。
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays===null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x===c_name)
{
return unescape(y);
}
}
}
function showPopupOnce() {
var hasSeenPopup = myGetCookie("has_seen_popup");
if (hasSeenPopup === null || hasSeenPopup === ""){
// the user has never seen the popup, so show him!
window.open("http://mywebsite.com/popup.html", "myPopupWindow");
}
// either way, set the cookie so the user will never see the window again
mySetCookie("has_seen_popup", "true", 365); // 365 days = 1 year
}
<body onLoad="showPopupOnce();">
オーバーレイコードが1回だけ表示されるようにするために、オーバーレイコードで行う必要のある変更は何ですか。get cookie関数とsetcookie関数を追加してから、次のようにします。
ありがとうArnab