【问题标题】:How to create a popup box that will only show 1 time如何创建一个仅显示 1 次的弹出框
【发布时间】:2021-09-02 21:23:51
【问题描述】:

我在网站主页上创建了这个弹出窗口。但是这里有一个问题,当我在访问了网站的其他页面后回到主页时,页面再次加载,并且再次显示弹出窗口。我希望弹出窗口只显示 1 次,即使您重新加载了页面。喜欢这个网站“https://www.livpuresleep.com/”。

$(document).ready(function(){
      var popup =   setTimeout(function(){
            $('#popUp').css('display','block'); }, 3000);
        }); 

    $('.close-popup').click(function(){
        $('#popUp').css('display','none');
          clearTimeout(popup);
    });
<div id="popUpmain">
        <form action="">
            <div id="popUp" style="display:none">
                <h1 class="popUp-heading">Sign Up</h1>
                <input type="text" class="pop-up-name" placeholder="Your Name">
                <input type="text" class="pop-up-email" placeholder="Email">
                <input type="text" class="pop-up-number" placeholder="Number">
                <select name="Select Product" id="" class="popup-select">
                    <option value="Select Product active">Select Product</option>
                    <option value="Mattress">Mattress</option>
                    <option value="Select Product active">Comforter</option>
                    <option value="Select Product active">pillow</option>
                </select> 
                <input type="submit" class="popup-btn close-popup">
                <button type="button" class="close-btn close-popup">Not Now</button>
            </div>
        </form>
    </div>

【问题讨论】:

  • 在 php(或 javascript 中的 cookie)中使用会话变量 --- 将其初始化为 value=0,然后在弹出窗口后将此变量增加一。并且仅在变量为 0 时才弹出。
  • 能否请你给我 JavaScript cookie 的代码?你能帮我在 javascript 中使用这个 cookie

标签: javascript php html jquery css


【解决方案1】:

您可以设置一个 cookie,然后在生成弹出窗口之前检查它是否存在。

设置cookie的功能:

function setCookie(cookieName, cookieValue, cookieExpiration) {
  var date = new Date();
  date.setTime(date.getTime() + (cookieExpiration*24*60*60*1000));
  var expires = "expires="+ date.toUTCString();
  document.cookie = cookieName + "=" + cookieValue + ";" + expires + ";path=/";
}

获取cookie的函数:

function getCookie(cookieName) {
  var name = cookieName + "=";
  var decodedCookie = decodeURIComponent(document.cookie);
  var cookieArray = decodedCookie.split(';');
  for(var i = 0; i <cookieArray.length; i++) {
    var cookie = cookieArray[i];
    while (cookie.charAt(0) == ' ') {
      cookie = cookie.substring(1);
    }
    if (cookie.indexOf(name) == 0) {
      return cookie.substring(name.length, cookie.length);
    }
  }
  return "";
}

您的代码将如下所示:

if(getCookie("hidePopup") != 1) {
  $(document).ready(function(){
      var popup = setTimeout(function(){
        $('#popUp').css('display','block'); }, 3000);
      }); 
  $('.close-popup').click(function(){
    $('#popUp').css('display','none');
    clearTimeout(popup);
    setCookie("hidePopup", 1, 365);
  });
}

【讨论】:

猜你喜欢
  • 2018-08-03
  • 1970-01-01
  • 1970-01-01
  • 2021-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多