2014-02-24 138 views
0

我有一個用戶必須登錄的網站,一旦完成,他們被引導到一個新頁面並彈出一個對話框。我沒有問題顯示彈出框,但是如果您刷新頁面並且彈出框出現。我希望它只在登錄後才顯示,並且只要他們從不登出,就不會再顯示。這意味着如果他們重新刷新頁面或類似的東西,彈出窗口不會再出現。有沒有某種插件或簡單的代碼(我在JQuery中是一個初學者)?只顯示jquery彈出窗口一次

<div id="popup-image-back"> 
    <div class="popup-textbox"> 
     <div class="textbox-title">WE’VE HAD A MAKEOVER!</div> 
     <div class="textbox-p">With fewer restrictions, more destinations and even better rewards you can start saving more money!</div> 
    </div> 
    <img class="new-popup-xclose" src="images/close-x-dark.png" /> 
</div> 
<div id="back-wrapper"></div> 

的JavaScript

$(document).ready(function() { 
    $('#back-wrapper').fadeIn(1000, function() { 
     $('#popup-image-back').fadeIn(1000); 
    }); 
    $(".new-popup-xclose").click(function() { 
     $('#popup-image-back').fadeOut(1000); 
     $('#back-wrapper').fadeOut(1000); 
    }); 
}); 

回答

0

可以使用localstorage做到這一點:

if (localStorage.getItem("iswrpdivloaded") === null) { 
    $('#back-wrapper').fadeIn(1000,function(){ 
    $('#popup-image-back').fadeIn(1000); 
}); 
localStorage.setItem('iswrpdivloaded', 1); 
} 
+0

是否有某種腳本標記或鏈接,我必須放在該局部存儲代碼的頭部工作?因爲我試過了,失敗了。 –

+0

不,你不知道。你只需要確保瀏覽器和版本支持HTML5(幾乎所有的現代瀏覽器都可以) –

+0

然後這很奇怪,因爲它不工作。我將這個代碼包含在document.ready函數中,是否正確? –

0

您可以使用此爲一次彈出。

$(window).load(function(){ 
     $('.popUp').show(); 
     $('.close').click(function(){ 
      $('.popUp').slideUp(); 
     }); 
     setTimeout('$(".popUp").fadeOut()', 10000); 
    }); 
+0

但每次我重新刷新頁面彈出窗口。它應該只在用戶登錄後才顯示,只要他們不登出就不會再顯示。 –

2

雖然這個線程可能是古老的,我想給一個OP可以使用的答案。通過使用cookie,您可以將頁面設置爲僅顯示一次。由於大多數瀏覽器都支持cookie,因此比使用當前瀏覽器所擁有的內部存儲引擎更可靠。

$(document).ready(function(){ 

    // test for cookie here 
    if ($.cookie('test_status') != '1') { 
     //show popup here 
     window.open('YOUR POPUP URL HERE','windowtest','toolbar=0,status=0,width=500,height=500'); 

     // set cookie here if not previous set 
     var date = new Date(); 
     var minutes = 30; 
     date.setTime(date.getTime() + (minutes * 60 * 1000)); 
     $.cookie('test_status', '1', {expires: date}); 
    } 

}); 

要測試此操作,請務必在每次刷新之間清除Cookie。