Javascript 使用cookies仅显示我的弹出窗口一次?

Javascript 使用cookies仅显示我的弹出窗口一次?,javascript,Javascript,我正在努力将cookie控件添加到弹出窗口中,因此它只显示一次 var modal = document.querySelector(".modal"); var close = document.getElementById("myDiv"); var element = document.getElementById("myDiv"); function popupScroll() { element.classList.add("show-modal"); } fun

我正在努力将cookie控件添加到弹出窗口中,因此它只显示一次

 var modal = document.querySelector(".modal");
 var close = document.getElementById("myDiv");
 var element = document.getElementById("myDiv");

 function popupScroll() {
    element.classList.add("show-modal");
 }
 function closeModal() {
    element.classList.add("hide-modal");
 }
 window.addEventListener("scroll", popupScroll);
 window.addEventListener("click", closeModal);
你可以使用或

localStorage
访问当前域的local存储对象并向其添加数据项时,
sessionStorage
访问当前域的会话存储对象并向其添加数据项

    var modal = document.querySelector(".modal");
    var close = document.getElementById("myDiv");
    var element = document.getElementById("myDiv");

    function popupScroll() {
        if (!localStorage.getItem('showPopup')) { //check if popup has already been shown, if not then proceed
            localStorage.setItem('showPopup', 'true'); // Set the flag in localStorage
            element.classList.add("show-modal");
        }
    }
    function closeModal() {
        element.classList.add("hide-modal");
    }
    window.addEventListener("scroll", popupScroll);
    window.addEventListener("click", closeModal);

请记住,虽然在
sessionStorage
中设置的项目持续的时间与浏览器会话的时间相同,但
localStorage
项目没有过期时间。也就是说,在您当前的情况下,您可以使用
localStorage
sessionStorage
我建议您使用
localStorage
。它是一个Javascript API,具有
setItem
getItem
等函数。这里有一个例子:

function displayPopup() {
  //if the variable in localStorage is set dont show the popup and just return
  if (localStorage.getItem('popupAlreadyShown')) return;

  //display popup, example: 
  document.getElementById('popup').style.display = 'block';
}

function closePopup() {
  //close popup, example: 
  document.getElementById('popup').style.display = 'none';
  //set the variable in localStorage that the popup is closed
  localStorage.setItem('popupAlreadyShown', 'true');
}

非常感谢,这正是我想要的。你是个明星!!请去读。我们希望您能给出正确的问题描述,而“我正在努力”并不是一个。