JS使用cookie实现DIV提示框只显示一次的方法

JS使用cookie实现DIV提示框只显示一次的方法可以分为以下几个步骤:

  1. 判断cookie是否存在
  2. 如果cookie不存在,则显示DIV提示框,并设置cookie
  3. 如果cookie存在,则不显示DIV提示框

具体步骤如下:

  1. 判断cookie是否存在:
function getCookie(name) {
  var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
  if (arr != null) {
    return unescape(arr[2]);
  }
  return null;
}

var isShow = getCookie("isShow");
if (isShow != null && isShow == "false") {
  // do not show div
} else {
  // show div
}
  1. 如果cookie不存在,则显示DIV提示框,并设置cookie:
function setCookie(name, value, day) {
  var expires = "";
  if (day) {
    var date = new Date();
    date.setTime(date.getTime() + day * 24 * 60 * 60 * 1000);
    expires = "; expires=" + date.toUTCString();
  }
  document.cookie = name + "=" + escape(value) + expires + "; path=/";
}

var isShow = getCookie("isShow");
if (isShow == null) {
  // show div
  setCookie("isShow", "false", 30); // 30 days
}
  1. 如果cookie存在,则不显示DIV提示框:
var isShow = getCookie("isShow");
if (isShow != null && isShow == "false") {
  // do not show div
} else {
  // show div
}

以下是两个示例:

  1. 示例一:
<div id="tip" style="display:none;">This is a div tip.</div>

<script>
function getCookie(name) {
  var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
  if (arr != null) {
    return unescape(arr[2]);
  }
  return null;
}

function setCookie(name, value, day) {
  var expires = "";
  if (day) {
    var date = new Date();
    date.setTime(date.getTime() + day * 24 * 60 * 60 * 1000);
    expires = "; expires=" + date.toUTCString();
  }
  document.cookie = name + "=" + escape(value) + expires + "; path=/";
}

var isShow = getCookie("isShow");
if (isShow == null) {
  // show div
  setCookie("isShow", "false", 30); // 30 days
  document.getElementById("tip").style.display = "block";
}
</script>
  1. 示例二:
<div id="tip" style="display:none;">This is a div tip.</div>

<script>
function getCookie(name) {
  var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
  if (arr != null) {
    return unescape(arr[2]);
  }
  return null;
}

var isShow = getCookie("isShow");
if (isShow != null && isShow == "false") {
  // do not show div
} else {
  // show div
  document.getElementById("tip").style.display = "block";
}

document.getElementById("close-btn").onclick = function() {
  document.getElementById("tip").style.display = "none";
  setCookie("isShow", "false", 30); // 30 days
};
</script>

在示例二中,还增加了一个点击关闭按钮后设置cookie的功能,确保用户可以关闭DIV提示框之后不再显示。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS使用cookie实现DIV提示框只显示一次的方法 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • 使用开源Cesium+Vue实现倾斜摄影三维展示功能

    下面是使用开源Cesium+Vue实现倾斜摄影三维展示功能的完整攻略。 1. 开源Cesium+Vue简介 1.1 Cesium Cesium 是一个可视化地球数据的 JavaScript 库,拥挤者来自美国宾夕法尼亚州的开源项目。 Cesium支持多样化地球数据的可视化,包括卫星、建筑、城市、气象等等,特别是对于三维地球数据的处理。 1.2 Vue Vue…

    JavaScript 2023年6月11日
    00
  • 一篇文章搞定echarts地图轮播高亮

    下面是详细讲解“一篇文章搞定echarts地图轮播高亮”的完整攻略: 1.准备工作 在开始操作之前,你需要准备以下工具和技能: 计算、理解经纬度坐标系并能熟练使用echarts中的地图组件 熟练使用javascript编程语言 确保已经完成了echarts库和其依赖库的安装 2. 地图轮播高亮思路 地图轮播高亮的核心思路,是通过定时器不断切换并高亮指定点的策…

    JavaScript 2023年6月11日
    00
  • JavaScript 删除或抽取字符串指定字符的方法(极为常用)

    对于JavaScript删除或抽取字符串指定字符的方法,我们可以使用以下三种方式实现: 方法一:使用replace() 使用replace方法可以将字符串中指定的字符替换为指定的字符(或者为空字符),从而达到删除或抽取的效果。用法如下所示: str.replace(要替换的字符, 替换为的字符); 其中,要替换的字符可以是一个普通字符,也可以是一个正则表达式…

    JavaScript 2023年5月28日
    00
  • JavaScript学习笔记之Function对象

    下面是关于“JavaScript学习笔记之Function对象”的完整攻略。 1. Function对象的概述 在JavaScript中,函数(Function)也是一种数据类型。Function对象是JavaScript内置对象之一,它可以通过Function构造函数来创建,也可以通过函数表达式直接创建。 2. Function对象的创建 2.1 通过Fu…

    JavaScript 2023年5月27日
    00
  • JS使用正则截取两个字符串之间的字符串实现方法详解

    当我们想要从一个字符串中提取出特定的子串时,我们可以使用正则表达式来进行匹配。下面是JS使用正则截取两个字符串之间的字符串实现方法详解: 步骤一: 定义正则表达式 首先,需要定义一个正则表达式来匹配要提取的子串。正则表达式的语法可以参考MDN文档。 例如,如果我们想要截取”start”和”end”之间的字符串,可以使用如下的正则表达式: var patter…

    JavaScript 2023年5月28日
    00
  • JS Math对象与Math方法实例小结

    JS Math对象与Math方法实例小结 在JavaScript中,Math对象提供了一些有用的数学方法,包括常见的三角函数、对数函数和向下或向上取整等等。 在本文中,我们将学习JavaScript中Math对象的常见方法,如Math.random()和Math.floor(),并提供有用的示例说明。 1. Math对象属性 Math对象具有一些常用的数学属…

    JavaScript 2023年5月27日
    00
  • js变量以及其作用域详解

    下面是“js变量以及其作用域详解”的攻略: 1. js变量 1.1 变量的概念 变量是存储数据值的容器,它可以被任何程序访问和改变。在JavaScript中,你可以声明变量并附加特定类型的数据值,然后在程序中使用该值。 JavaScript中的变量是弱类型的,这意味着变量类型不是固定的,可以在程序中随时更改。 1.2 变量的声明与赋值 在JavaScript…

    JavaScript 2023年5月18日
    00
  • js局部刷新页面时间具体实现

    实现JS局部刷新页面的两种常见方式是使用JS内置的location.reload()方法和使用AJAX请求后台返回的数据来更新页面。 使用location.reload()方法刷新页面 location.reload()方法可以重新加载当前页面,如果传入参数true则会强制从服务器重新加载页面,但是这种方式会刷新整个页面,无法局部刷新。因此,我们可以通过在J…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部