问题描述
- 谁能帮我解释下这段javascript的含义和作用,谢谢!
-
var Remember = new Object(); Remember = function(){}; Remember.prototype = { initialize: function(el, options){ this.el = $(el); this.days = 365; this.options = options; this.effect(); var cookie = this.readCookie(); if (cookie) { this.fx.now = cookie; this.fx.increase(); } }, //cookie functions based on code by Peter-Paul Koch setCookie: function(value) { var date = new Date(); date.setTime(date.getTime()+(this.days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); document.cookie = this.el+this.el.id+this.prefix+"="+value+expires+"; path=/"; }, readCookie: function() { var nameEQ = this.el+this.el.id+this.prefix + "="; var ca = document.cookie.split(';'); for(var i=0;c=ca[i];i++) { while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return false; }, custom: function(from, to){ if (this.fx.now != to) { this.setCookie(to); this.fx.custom(from, to); } } }
就是这段代码,看了半天没看明白,下面这3行,每行是什么意思呢?
date.setTime(date.getTime()+(this.days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); document.cookie = this.el+this.el.id+this.prefix+"="+value+expires+"; path=/";
解决方案
这三行代码用来设置过期时间,date.getTime()得到的当前时间,这个时间是一个整数,代表从某个时间段到现在的毫秒数。那么过期时间就是当前时间+天数*24*60*60*1000毫秒。
一天等于24小时,24*60分,24*60*60秒,24*60*60*1000毫秒。
解决方案二:
主要是用设置cookie的过期时间,精确到毫秒
解决方案三:
第一行:设置结束时间为当前时间算起的 24小时后,单位为毫秒所以是:24小时 * 60fen * 60秒 * 1000 毫秒;
第二行:将第一行的日期转换成字符串形式;
第三行:将cookie信息和过期时间进行设置。
解决方案四:
设置时间,并加入到cookie中
时间: 2024-12-03 17:39:09