我的问题可能很简单,但我不知道如何做到这一点。我想保存' bgid'整个浏览会话和页面重新加载。我想过使用cookies,但我不知道如何暗示它们。这是我的代码(顺便说一下,我正在使用jQuery):
<script>
var bgid = 2;
var bgnumber = 3;
$('#changebg').click(function() {
$('body').removeClass();
$('body').addClass('class' + bgid);
if(bgid < bgnumber + 1) {
bgid = bgid + 1;
} else {
bgid = 2;
}
});
</script>;
你能帮助我吗?谢谢! :)
答案 0 :(得分:2)
var bgid = !localStorage.getItem('bgid')? 2 : parseInt(localStorage.getItem('bgid'));
bgid += 1;
localStorage.setItem('bgid', bgid);
答案 1 :(得分:1)
您可以将localStorage用于此目的。 只需做一些像
这样的事情var bgid = window.localStorage.bgid;
您唯一需要记住的是您检索的数据将是一个字符串。
示例:
if (window.localStorage.bgid !=== undefined) // check whether the data already exists
window.localStorage.bgid = 2; // if not, we set the 2 as default value
然后使用window.localStorage.bgid访问bgid。如果你想得到一个数字,可以使用parseInt或者只是在窗口前添加'+'。
如果您想保存数据,只需输入
即可window.localStorage.bgid = newValue;
答案 2 :(得分:0)
我建议您使用localStorage
<script>
if (localStorage.getItem("bgid"))
{
var bgid = parseInt(localStorage.getItem("bgid"));
}
else
{
var bgid = 2;
}
var bgnumber = 3;
$('#changebg').click(function () {
$('body').removeClass();
$('body').addClass('class' + bgid);
if (bgid < bgnumber + 1)
{
bgid = bgid + 1;
}
else
{
bgid = 2;
}
localStorage.setItem("bgid", bgid);
});
</script>
答案 3 :(得分:0)
如果我是你,我不会使用cookies,而是大多数浏览器实施 localstorage
egxample:
<script>
var bgid = 2;
if(localStorage.getItem("bgid") != null){// this checks bgid exists
bgid = localStorage.getItem("bgid");//and this sets bgid to the localstorage value
}
var bgnumber = 3;
$('#changebg').click(function() {
$('body').removeClass();
$('body').addClass('class' + bgid);
if(bgid < bgnumber + 1){
bgid = bgid + 1;
}
else{
bgid = 2;
}
localStorage.setItem("bgid");// this sets the value
});
</script>;
这对你有用,但上面的答案应该足够了