每次加载页面或单击#desc div时,内容应更改为其他数组项。将会有更多,这就是为什么有Math.random()的原因。
问题是,每次都应该生成不同数字的循环无法正常工作。
编辑:感谢您的所有答复,将===更改为==帮助;)
var descs = [
"^that's me",
"make the web great again"
];
function changeDesc() {
var randNum = Math.abs(Math.round(Math.random()*descs.length-1));
if (randNum == localStorage.getItem("usedDescs")) {
changeDesc();
}
else {
localStorage.setItem("usedDescs", randNum);
$("#desc").html(descs[localStorage.getItem("usedDescs")]);
}
}
$(document).ready(function(){
changeDesc();
$("#desc").click(function() {
changeDesc();
});
});
最佳答案
您的问题是将整数randNum
与字符串localStorage.usedDesc
进行比较
这样做并自己看看:console.log(typeof localStorage.usedDescs)
console.log(typeof randNum)
使用localStorage.set/getItem()
是执行此操作的“正确”方法,但是您编写的内容也同样有效。
关于javascript - jQuery循环与localStorage变量不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35938409/