JavaScript Cookie 错误
2015-08-25
343
今天我尝试学习如何使用 cookie,一切进展顺利,直到我尝试让 cookie 保存您在页面上停留的总秒数,包括之前的访问。它不是像 1、2、3 那样递增计数,而是像 1、11、111、1111 那样计数。这是我的代码:
<!DOCTYPE html>
<html>
<head>
<script>
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname+"="+cvalue+"; "+expires;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
var value = getCookie('value');
window.setInterval(function(){
value = value + 1;
document.getElementById("value").innerHTML = value;
setCookie("value", value, 365);
}, 1000);
</script>
</head>
<body>
<p>
<span id="value">0</span>
</body>
</html>
1个回答
value
是字符串,因此
+
是连接,而不是加法。请使用:
value++;
(这会将其转换为数字,以便可以递增)
或
value = parseInt(value, 10) + 1;
Barmar
2015-08-25