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

问题描述 投票:2回答:2

我目前正在做一个学校项目,在这里我必须重新制作“乒乓”型游戏。我刚刚开始编码,但是到目前为止一切都进行得很顺利。但是,我在这件计分卡上卡住了。我基本上想在刷新页面时保留变量的值。我的某些代码是法语,因此是法语。 “点”基本上是分数(两个玩家所以两个不同的分数)。 “ 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”变量的值。

javascript html
2个回答
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中


-1
投票

您的问题:“如何在刷新页面时保留变量的值。”答:嘿,您可以使用不同类型的方法来携带变量的值。

    First: you can use the session for hold the javascript variable's value.
    Second: You can use local storage to hold the javascript variable's value.
    Third: You can use Cookies to hold the javascript variable's value.
© www.soinside.com 2019 - 2024. All rights reserved.