javascript - 从 localStorage 加载 var n 并循环 n 次
问题描述
我正在尝试学习 JS,这是我的小应用程序。
每次我按下“INSTANTIATE”按钮时,它都会在我的<div>
.
当用户重新加载页面时,tomatoe.png 应该出现的次数与他们按下“INSTANTIATE”按钮的次数一样多。
这是代码。为此,我创建了一个变量 ( i
),它在每次按下按钮时递增。
我计划将此变量保存到localStorage
中,当页面重新加载时,我想调用一个循环函数来实例化tomoe.pngi
时间。
function popUp() {
var img = document.createElement("img");
img.src = "tomato.png";
var src = document.getElementById("header");
src.appendChild(img);
i++;
localStorage.setItem("apples", i);
}
<button onclick="popUp()">INSTANTIATE</button>
<div id="header"></div>
因此,当用户重新加载页面时,他们按下按钮的次数应该会出现尽可能多的西红柿。
我想我必须使用循环,但我不知道如何。
解决方案
只需将项目放入localStorage
并循环直到它到达0
,每次都创建一个新图像(localStorage
由于安全原因,这里的 StackOverflow 片段不适用,但你明白了)。
var i = 0;
function popUp() {
newImage();
i++;
localStorage.setItem("apples", i);
}
function newImage() {
var img = document.createElement("img");
img.src = "tomato.png";
var src = document.getElementById("header");
src.appendChild(img);
}
var oldi = Number(localStorage.getItem("apples"));
while (oldi > 0) {
oldi--;
newImage();
}
<button onclick="popUp()">INSTANTIATE</button>
<div id="header"></div>
推荐阅读
- java - 删除sql数据库中的重复行
- vb.net - 文本框不刷新
- uart - 使用 MicroPython 通过 USB 连接将数据写入 ESP32
- javascript - 如何使用 javascript/react 减小 PDF 文件的大小?
- swift - 当我在子级 [SwiftUI] 中关闭 rootViewController 时处理父级中的值
- php - 登记表 500 | 服务器错误 - Laravel/Tailwind CSS
- flow - PowerApps:无法为 SSL/TLS 安全通道建立信任关系
- r - 在保留行数的同时解包多行小标题的列表列
- twilio - 我可以将可编程视频与语音通话结合起来吗?
- c - C 中的 const char * const VS const char []