本文目录一览:
数字逐渐增加的JS代码,刷新也可以不回到初始值
小齐炖博士说的思路很对。有一点,在 Chrome 上我们可以使用 HTML5 的 localStorage 或 sessionStorage,和 cookie 的效果是一样的。
下面的代码在刷新的时候保持数字不变,但关闭浏览器后会还原。如果想要一直保存数据,要在 cookie 中设置 expires(Chrome 下使用 localStorage 替换 sessionStorage)。
完整测试代码:
script type=”text/javascript”
window.onload = function() {
// 数字到达 100 后还原为 1
var max = 100,
o = document.getElementById(‘abc’);
var chrome = /chrome/i.test(navigator.userAgent);
// 获取保存的数据
if(chrome) {
data_num = sessionStorage.getItem(“num”) || “”;
}
else {
data_num = document.cookie.replace(
/(?:(?:^|.*;\s*)num\s*\=\s*((?:[^;](?!;))*[^;]?).*)|.*/,
“$1”);
}
var num_now = parseInt(data_num) || 0;
o.innerHTML = num_now + 1;
// 每 0.1 秒更新一次数字,并保存数据
setInterval(function() {
num_now = num_now = max ? 1 : num_now + 1;
o.innerHTML = num_now;
if(chrome) {
sessionStorage.setItem(“num”, num_now);
}
else {
document.cookie = “num=” + num_now + “;path=/;”;
}
}, 100);
};
/script
span id=”abc”1/span
求一段JS代码,可以随着天数自动增加数值
div id=”bbc”/div
script
!function(e,t){var n=function(){return n.get.apply(n,arguments)},r=n.utils={isArray:Array.isArray||function(e){return Object.prototype.toString.call(e)===”[object Array]”},isPlainObject:function(e){return!!eObject.prototype.toString.call(e)===”[object Object]”},toArray:function(e){return Array.prototype.slice.call(e)},getKeys:Object.keys||function(e){var t=[],n=””;for(n in e)e.hasOwnProperty(n)t.push(n);return t},escape:function(e){return String(e).replace(/[,;”\\=\s%]/g,function(e){return encodeURIComponent(e)})},retrieve:function(e,t){return e==null?t:e}};n.defaults={},n.expiresMultiplier=86400,n.set=function(n,i,s){if(r.isPlainObject(n))for(var o in n)n.hasOwnProperty(o)this.set(o,n[o],i);else{s=r.isPlainObject(s)?s:{expires:s};var u=s.expires!==t?s.expires:this.defaults.expires||””,a=typeof u;a===”string”u!==””?u=new Date(u):a===”number”(u=new Date(+(new Date)+1e3*this.expiresMultiplier*u)),u!==”””toGMTString”in u(u=”;expires=”+u.toGMTString());var f=s.path||this.defaults.path;f=f?”;path=”+f:””;var l=s.domain||this.defaults.domain;l=l?”;domain=”+l:””;var c=s.secure||this.defaults.secure?”;secure”:””;e.cookie=r.escape(n)+”=”+r.escape(i)+u+f+l+c}return this},n.remove=function(e){e=r.isArray(e)?e:r.toArray(arguments);for(var t=0,n=e.length;tn;t++)this.set(e[t],””,-1);return this},n.empty=function(){return this.remove(r.getKeys(this.all()))},n.get=function(e,n){n=n||t;var i=this.all();if(r.isArray(e)){var s={};for(var o=0,u=e.length;ou;o++){var a=e[o];s[a]=r.retrieve(i[a],n)}return s}return r.retrieve(i[e],n)},n.all=function(){if(e.cookie===””)return{};var t=e.cookie.split(“; “),n={};for(var r=0,i=t.length;ri;r++){var s=t[r].split(“=”);n[decodeURIComponent(s[0])]=decodeURIComponent(s[1])}return n},n.enabled=function(){if(navigator.cookieEnabled)return!0;var e=n.set(“_”,”_”).get(“_”)===”_”;return n.remove(“_”),e},typeof define==”function”define.amd?define(function(){return n}):typeof exports!=”undefined”?exports.cookie=n:window.cookie=n}(document);
if(!cookie.get(“mynum”)){
cookie.set(“mynum”,100,{expires: 7});
cookie.set(“lastday”,new Date(),{expires: 7});
}else{
if(new Date(cookie.get(“lastday”)).getDay() !== new Date().getDay()){
cookie.set(“mynum”,parseInt(cookie.get(“mynum”))+3,{expires: 7});
cookie.set(“lastday”,new Date(),{expires: 7});
}
}
document.getElementById(‘bbc’).innerHTML=cookie.get(“mynum”);
/script
求一段定时自动在原来数字的基础上增加数字的js代码
根据下面的哥们改革的:
body
div id=”t” 10/div
script
var i=10;
window.setInterval(function() {
(i++);
document.getElementById(‘t’).innerHTML=10+(i-10)*2;
}, 3000);
/script
p每3秒自动增加数字2/p
/body
效果是从10的显示开始每3秒自动增加2。
3000和*2那里可以随便改。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/236940.html