2016-08-10 10 views
2

ページロード時にオーバーレイバックグラウンドを設定しましたが、ユーザーごとに1回ロードする必要があるため、ページをクリックして戻ってくるとオーバーレイは表示されません再び。これについての助けがあれば、非常に感謝しています。ここに私のコードです:ページ読み込み時にポップアップするユーザーごとに1回だけ読み込む場合

<div class="overlay-bg"> 

    <div class="overlay-inner"> 
     <h2>To explore more simply...</h2> 

    <div class="col-xs-4"> 
     <p>Drag</p> 
     <img src="AW16/pages/AW16_Lookbook_Timeoutmessage_03_02_new.gif?$staticlink$" alt="Hit List" height="85" width="80"> 
    </div> 
    <div class="col-xs-4 middle-col"> 
     <p>or</p> 
    </div> 
    <div class="col-xs-4"> 
     <p>Use arrow</p> 
     <img src="AW16/pages/AW16_Lookbook_Timeoutmessage_05_02_new.gif?$staticlink$" alt="Hit List" height="85" width="123"> 
    </div> 
    <a class="close-btn-new">CLOSE</a> 

</div> 

<script type="text/javascript"> 
$(document).ready(function(){ 

// function to show our popups 
function showPopup(whichpopup){ 
if (document.cookie.replace(/(?:(?:^|.*;\s*)doSomethingOnlyOnce\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") { 
$('.overlay-bg').show(); //display your popup background and set  height to the page height 
document.cookie = "doSomethingOnlyOnce=true; expires=Fri, 31 Dec 9999 23:59:59 GMT"; 
} 
} 

// function to close our popups 
function closePopup(){ 
$('.overlay-bg').hide(); //hide the overlay 
} 


// hide popup when user clicks on close button or if user clicks  anywhere outside the container 
$('.close-btn-new, .overlay-bg').click(function(){ 
closePopup(); 
}); 


}); 
</script> 
+0

ユーザーセッションごとにポップアップを1回だけ表示しますか? –

+0

私はあなたがブラウザを更新するたびに、意味する – user3767554

答えて

0

次、私はあなたがそれをしたくないページを更新した後、意味と仮定していますもう一度表示します。これを行うには、ページの更新時にユーザーの状態を追跡する必要があります。ユーザーがページで見た情報をデータベースに保存するか、ページの更新時に永続的なCookieなどの情報を保存する必要があります。

あなたは、Mozilla MDNサイトに一度だけ何かをするサイトを設定するコードを見つけることができます。

https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie

code from mozilla site: 

function doOnce() { 
    if (document.cookie.replace(/(?:(?:^|.*;\s*)doSomethingOnlyOnce\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") { 
    alert("Do something here!"); 
    document.cookie = "doSomethingOnlyOnce=true; expires=Fri, 31 Dec 9999 23:59:59 GMT"; 
    } 
} 

EDIT: 私は作業例と要旨を作成しました。 https://gist.github.com/kemiller2002/658e69a899e874e01026ba05f83f7454

+0

提案をありがとうKev。私はこれを自分のシナリオに実装するのに苦労しています。上記の編集された質問 – user3767554

+0

を参照してください.1秒、私はアップデートを行います。 – kemiller2002

+0

あなたが投稿したコードを見ると、どこにでもshowPopupを呼んでいるとは思いません。また、Chromeを使用して開発中で、ローカルページ(Webサーバーを経由しない)を開発している場合、ChromeはローカルCookieを無視します。 FireFoxに切り替えて問題が解決するかどうか確認してください。 – kemiller2002

0

試してみてくださいページをオフクリックすると

<script type="text/javascript"> 
$(document).ready(function(){ 

// function to show our popups 
function showPopup(whichpopup){ 
    if (typeof(localStorage.popupDisplayCount) == "undefined") { 
     localStorage.popupDisplayCount = 1; 
     $('.overlay-bg').show(); //display your popup background and set  height to the page height 
    } 
} 

// function to close our popups 
function closePopup(){ 
$('.overlay-bg').hide(); //hide the overlay 
} 


// hide popup when user clicks on close button or if user clicks  anywhere outside the container 
$('.close-btn-new, .overlay-bg').click(function(){ 
closePopup(); 
}); 


}); 
</script> 
+0

こんにちは、上記の私のために、他の提案は動作しません?おかげで – user3767554

関連する問題