【发布时间】:2017-03-30 01:28:48
【问题描述】:
标题很难解释,让我解释一下。
我有 3 张图片,我希望它们显示在一个 div 中,并在每次用户重新访问页面时旋转(他们在访问时会看到一张图片,下次访问时会看到另一张图片)。
我正在考虑有一个像“count”这样的变量,每次用户访问时它都会增加,count 的值将与此 div 中显示的图像有关,但是我不确定如何保存这 3 个图像在本地存储中。
我期待逻辑会是这样的
setItem (Img1)
setItem (Img2)
setItem (Img3)
count = count + 1
if count = 1
div = getItem(Img1)
if count = 2
etc etc
我想我的问题是:
有没有办法在不先将图像添加到页面的情况下将图像存储在本地存储中?
编辑
这是我现在使用的代码,但是没有显示图像,div 只显示图像位置。
var counter = localStorage.getItem('counter');
if(counter == null) {
localStorage.setItem("counter", 0);
localStorage.setItem("images",'["assets/advert1.png","assets/advert2.png","assets/advert3.png"]');
$('#advert').html(JSON.parse(localStorage.getItem('images'))[0]);
}
else {
$('#advert').html(JSON.parse(localStorage.getItem('images'))[counter]);
counter++;
if(counter > 2) {
counter = 0;
}
localStorage.setItem("counter", counter);
}
(注意这是在 document.ready 函数中)
【问题讨论】:
-
为什么要将图片保存到
localStorage?您不能将它们作为image标签放在dom 中,并使用您从localStorage返回的数据来告诉您显示哪个? -
@Pytth 我想我可以,你的意思是想把它们全部隐藏起来,然后在本地存储中有一个计数来定义要显示哪个?(比如 count = 1 img1.removeClass hide 等)会您介意提交完整答案吗?
标签: javascript jquery html local-storage