JavaScript - 在主体上加载下一个数组元素

标签 javascript html arrays arraylist

所以我有一个 html 文件,它在 body 负载时调用 javascript 函数。我想一个接一个地显示一个数组元素。第一次加载时应显示“一个”,下次加载时应显示“”等。 但它一直向我显示第一个单词。你能解释一下我做错了什么并建议我一个解决方案吗?预先非常感谢您!

这是我的 HTML

<html lang="en">
<head>
<script src="/style/js/wordSet.js"></script>
</head>
<body>
<body onload="getWord()">
<div id="character"></div>
</body>
</html>

这就是我的wordSet.js

    function getWord(){
    var testList = ["one","three","right"]

       var resultSet = testList.shift();
        document.getElementById("character").innerHTML = resultSet;
}

最佳答案

当您关闭/刷新页面时,您所做的所有更改都会消失。使用 localStorage 保存 testList 数组:

function getWord() {
  var original = ["one", "three", "right"];
  // try to retrieve array from localStorage, return default if it doesn't exist
  var testList = localStorage.testList ? JSON.parse(localStorage.testList) : original ;
  var resultSet = testList.shift();
  // store the array in localStoarge after you change it
  localStorage.testList = JSON.stringify(testList.length ? testList : original );
  document.getElementById("character").innerHTML = resultSet;
}

关于JavaScript - 在主体上加载下一个数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41021133/

相关文章:

JavaScript 索引 >= 0

基于 HTML 表格的游戏中的 Javascript 函数

javascript - tinymce 自定义按钮替换内容

javascript - 通过 jquery 定位创建的元素

c - 在 n 个元素的数组中,首先对 n-(root)n 个元素进行排序,我们必须对数组进行排序

javascript - AngularJS/JavaScript 从另一个对象创建新对象

javascript - 我可以用 JavaScript 中的 switch 或 case 语句重构 if - else 吗?

javascript - 使用组的 jQuery 对象选择比 $($ (".someclass")[i])) 更简单的方法?

html - 超大屏幕图像高度

html - 如何更改事件导航页面菜单的颜色