刷新页面时如何保留变量的值

时间:2019-10-30 02:35:20

标签: javascript html

我目前正在做一个学校项目,必须重新制作“乒乓”型游戏。我刚刚开始编码,但是到目前为止一切都进行得很顺利。但是,我在这件计分卡上卡住了。我基本上想在刷新页面时保留变量的值。我的某些代码是法语,因此是法语。 “点”基本上是分数(两个玩家所以两个不同的分数)。 “ Fin”是玩家得分的时间。另外,请不要判断我的代码,这是我正在做的第一件事:P。

由于我在编码领域是一个完整的菜鸟,因此我尝试了多种方法来在页面刷新时保留变量的值。我尝试过Cookie和本地存储。

    var point1=0

    var point2=0

    if(balle.x+balle.w>=canvas.width){
    gameOver=true
    player1=true
    point1++
    }

if(balle.x-balle.w<=0){
    gameOver=true
    player2=true
    point2++
    }

    function fin1(){
        c.font="100px Impact"
        c.drawImage(sas,0,0)
        c.fillText("Sasuke scores!",200,100)
        }   

    function fin2(){
        c.font="100px Impact"
        c.drawImage(ita,200,0)
        c.fillText("Itachi scores!",200,100)
            }   


    function restart(){
            if(gameOver==true){
            setTimeout("window.location.reload(false)",2000);}
            }

我的重新启动功能有效,但每次页面重新加载时,它只会重置“ point1”和“ point2”变量的值。

1 个答案:

答案 0 :(得分:1)

啊,我知道这里发生的事情至少可以通过您的查询理解: 您正在将数据设置到本地存储,但是在重置时,文件将再次运行,并将point1point2的值设置为0。基本上,您不是从本地存储中获取该项目的。那么,您要问什么解决方案:编写一个If条件,如果数据存在于本地存储中,则使用它,如果不存在,则初始化为0

var point1 = localStorage.getItem('point1') ? localStorage.getItem('point1') : 0;
var point2 = localStorage.getItem('point2') ? localStorage.getItem('point2') : 0;

您可以从以下位置获得对localStorage的更多了解:

注意:我正在考虑您将数据(point1和point2)存储在localStorage中