所以我是HTML5 / JS编程领域的新手,但我真的很想快速学习......我希望建立一个像Jeopardy游戏一样的网站,主屏幕上有一个类别表和点值,点击时,将超链接到问题页面。 在主页上我想要跟踪积分。我有一个文本框,编码为:
<input type="number" id="SamTotalPoint" value="0" readonly="readonly"/>
在问题页面上,我已经放置了理想情况下使用本地存储将点添加到主页的按钮。该按钮编码为:
<input type="button" id="SamHist50" value="Team Sam" onclick="SamScoreKeeper(samPoint,50)"/>
现在我想要连接两者。在外部JS上,我尝试将函数定义为:
function SamScoreKeeper(samPoint,pointsToAdd)
{
window.localStorage.setItem("SamTotalPoint", "0");
var SamOldScore = parseInt(window.localStorage.getItem("SamTotalPoint"));
window.alert(samPoint);
window.alert(pointsToAdd);
samPoint = samPoint + pointsToAdd
var SamNewScore = samPoint;
var SamTotalv = SamOldScore + SamNewScore
window.alert(samPoint);
window.history.back();
document.getElementById("SamTotalPoint").value; = SamTotalv;
}
我把那个根本不起作用。我花了一段时间试图研究这个并更多地理解它,但是经过大约6-7个小时的战斗并观看了一堆教程,我仍然无法得到它。这个页面只是从闪存驱动器本地运行,而不是实际托管在服务器上,这就是为什么我希望本地存储可以解决问题而不是使用PHP。窗口警报就在那里,所以我可以确保JS正在进行算术运算。任何人都可以帮我吗?非常感谢!
答案 0 :(得分:2)
修改 localStorage 后,将在共享存储的所有其他页面上触发storage
事件。您只需处理该事件,并检索更新的数据。这也适用于 sessionStorage 。
document.addEventListener('storage', function(e) {
// don't forget to take a look at the parameter - event object
// update your page here, good luck
}, false);