javascript - 仅显示一次弹出窗口 Jquery、PHP

标签 javascript php jquery session session-cookies

我有一个弹出窗口,单击按钮即可打开。该按钮出现在所有页面中。

弹出窗口应该只出现一次。

当用户打开页面并单击按钮时,必须出现弹出窗口,如果他再次单击同一按钮,则不应出现弹出窗口,并且如果他从该页面重定向到另一个页面并单击同一按钮,则不应出现弹出窗口出现。

如果浏览器关闭并再次打开,则必须出现弹出窗口,并且必须再次应用相同的条件。

在这些情况下,应该出现弹出窗口,而不应出现弹出窗口。

如何使用 jquery 和 PHP 实现此目的

最佳答案

you can create popup show only once on click using sessionStorage in jquery- check working example here

jsfiddle.net/ayatullahrahmani/p1p2zpx5/

这是 jquery 代码-

$(document).ready(function () {
               $(".open").click(function () {
                    $(".animateDivWrap").addClass("activePopup");
               });

              $(".close").click(function () {
                  $(".animateDivWrap").removeClass("activePopup");

                  sessionStorage.setItem("myClass", "firstGone");
                    $(".animateDivWrap").addClass(sessionStorage.myClass);
              });

              // after first load this class would be added
              $(".animateDivWrap").addClass(sessionStorage.myClass);
          });

css-

 body {
         overflow:hidden;
         }
         .animateDivWrap {
         position: absolute;
         top: 70px;
         right: 0px;
         left:0px;
         width: 300px;
         height: 199px;
         background: #f6f6f6;
         z-index: 9;
         display: none; 
         /*opacity: 0;*/
         border: solid 1px #ddd;
         border-radius: 5px;
             margin:auto;
         }
         .animateDivContent {
         position:relative;
             padding: 10px;
         }
         .animateDivContent .close {
         position: absolute;
         right: 5px;
         top: 3px;
         font-size: 12px;
         color: #373434;
         opacity: 1;
         }
         @-webkit-keyframes fadeInUp { 
         0% { 
         opacity: 0; 
         -webkit-transform: translateY(400px); 
         } 
         50%{
         opacity: 0.3; 
         }
         100% { 
         opacity: 1; 
         -webkit-transform: translateY(0); 
         } 
         } 
         @keyframes fadeInUp { 
         0% { 
         opacity: 0; 
         transform: translateY(400px); 
         } 
         50%{
         opacity: 0.3; 
         }
         100% { 
         opacity: 1; 
         transform: translateY(0); 
         } 
         } 
         .fadeInUp{ 
         opacity: 0; 
         -webkit-transform: translateY(400px); 
         transform: translateY(400px);
         }
         .activePopup {
         display: block;
         /*opacity:1;*/
         /*-webkit-animation:bounce 1s infinite;*/
         -webkit-animation-name: fadeInUp; 
         animation-name: fadeInUp; 
         -webkit-animation-name: fadeInUp; /* Safari 4.0 - 8.0 */
         -webkit-animation-duration: 1s; /* Safari 4.0 - 8.0 */
         animation-name: fadeInUp;
         animation-duration: 1s;
         }
         .close {
         cursor: pointer;
         }
         .firstGone  {
         display:none;
         }

html-

<button type="button" class="open">open</button>

      <div class="animateDivWrap">
         <div class="animateDivContent">
            <a class="close" href="javascript:void(0)" title="close"><i class="fa fa-times" aria-hidden="true"></i></a>
         </div>
      </div>

关于javascript - 仅显示一次弹出窗口 Jquery、PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43993807/

相关文章:

javascript - AngularJS:仅在一段时间过后才在ajax请求上显示加载微调器

javascript - 名称较长的条形图

php - MySQL在将数据插入不同表时建立关系

PHP 错误 : "The zip extension and unzip command are both missing, skipping."

javascript - 点赞按钮: Pass Certain Variable from PHP to Jquery when Clicked

jQuery onChange() 获得另一个领域的焦点

javascript - 每次元素滚动到视口(viewport)时触发事件

javascript - 使用 AJAX 和 jQuery 完成表单输入

php - 将具有多个日期的字符串转换为 dd-mm-YYYY 格式

javascript - 性能 : CSS3 animations vs. HTML5 Canvas