ページの読み込み時に非表示の div 特別オファーを訪問者に表示し、Cookie を設定して、ユーザーが最初にページを読み込んだときにのみ表示されるようにする機能があります。div が表示される前に必要な訪問回数を設定できるようにして、3 ページ目の読み込み時にのみ非表示の div を表示できるようにしたいと考えています。しかし、私はこれを実現する方法を理解できませんでした。誰かが私を正しい方向に向けることができますか?
function CreatePopup(url, height, duration, description, lifetime) {
// Exit if the current browser has already received the popup, or
// the browser is not supported (IE6).
if (HasAlreadyReceivedPopup(description) || IsUnsupportedUserAgent())
return;
$.get(url, function(data) {
/*var popup = $("<div>" + data + "</div>")
.attr({ "id": "sliding_popup" })
.css({"bottom": -1 * height})
.height(height)
.hide()
.appendTo("body");*/
popup = $("<div>" + data + "</div>")
.attr({ "id": "sliding_popup" })
.hide()
.appendTo("body");
ShowPopup(description, lifetime, popup, duration);
});
}
function ShowPopup(description, lifetime, popup, duration)
{
popup.show().animate( { top: 100 }, duration);
ReceivedPopup(description, lifetime);
}
function HasAlreadyReceivedPopup(description) {
return document.cookie.indexOf(description) > -1;
}
function ReceivedPopup(description, lifetime) {
var date = new Date();
date.setDate(date.getDate() + lifetime);
document.cookie = description + "=true;expires=" + date.toUTCString() + ";path=/";
}
function IsUnsupportedUserAgent() {
return (!window.XMLHttpRequest);
}
function DestroyPopup(duration) {
$("#sliding_popup").animate({ top: $("#sliding_popup").height() * -1 }, duration, function () { $("#sliding_popup").remove(); })
}
function SecondVisit(description)
{
if (HasAlreadyReceivedPopup(description)) {
return true;
}
else
{
return false;
}
}
関数は次のようにインクルードで呼び出されます。
関数はそのように呼び出されます
$(document).ready(function () {
// This check is used by the demo to allow you to remove the cookie. Do not use in production code.
if (HasAlreadyReceivedPopup("promo"))
$("#note").show().click(function () {
document.cookie = name + "promo=;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT"; location.reload(true);
});
CreatePopup("page.html", 300, 1500, "promo", 5);
});