2017-03-02 41 views
0

這是我在每個會話中只使用一次模態彈出的代碼,我的問題是,每次訪問主頁時,div都會顯示出來。相反,我想在每個會話中只顯示一次div。我試圖用cookies修復它,但它不起作用。如何在每個會話中只顯示一次模態通訊?

<script> 
    if (!Cookies.get('popup')) { 
     setTimeout(function() { 
      $('#myModal').modal(); 
     }, 600); 
    } 
    $('#myModal').on('shown.bs.modal', function() { 
     // bootstrap modal callback function 
     // set cookie 
     Cookies.set('popup', 'valid', { expires: 3, path: "/" }); // need to set the path to fix a FF bug 
    }) 
</script> 
+1

使用會話存儲到存儲標誌作爲該模式是否顯示。最初將標誌設置爲false,然後在模態顯示中將其設置爲true,因此您可以檢查標誌是否爲真,如果是 - 則不顯示模態 – gavgrif

回答

0

設置一個cookie。

$(document).ready(function() { 
if ($.cookie('noShowWelcome')) $('.yourDivClass').hide(); 
else { 
    $("#close-welcome").click(function() { 
     $(".yourDivClass").fadeOut(1000); 
     $.cookie('noShowWelcome', true);  
    }); 
    } 
}); 

您需要包含jQuery.cookie JavaScript文件。

Download jQuery.cookie

希望這有助於:)