【跳转到另一个页面之后,原来的页面数据如何保存 】 | IT修真院·坑乎
问题已收录 跳转到另一个页面之后,原来的页面数据如何保存
我也踩过这个坑( 5 )
已统计您的踩坑,无需重复点击
回答(3)
详细描述
截图
代码
编辑于2024-04-12
  • [无名弟子]马真爽
    0
    window.localStorage.setItem("key", JSON.stringify(key));


    编辑于2019-01-21
  • [外门弟子]JS-10
    0

    数据是保存了,但是你这个写法不能实现你想要的效果,因为你保存上去的是字符串,就算回去下来,你这个写法也改变不了按钮的颜色。我是这么保做的,设置变量kill的默认状态为false上传到服务器并获取,通过点击事件后杀人按钮后改变为true在次上传,在页面切换回来时通过if或者switch去判断是否为点击后改变的状态,来改变按钮颜色来改变杀人按钮的颜色,实现页面转换时杀人变色的效果,这个是我实现的方法,比较麻烦

    $(function() {//自执行函数
    if(verdict.kill == true || verdict.vote == true){//判断杀人与投票按钮是否是被点击过
    if(verdict.kill == true){//判断现在杀人按钮是否被点击时,为真改变页面提示文字
    fsm.one();//状态切换
    $(".fis").css("background-color","#35b788");
    $(".fis").children("span").css("border-right","22px solid #35b788");
    $("header").find("p").text("杀手杀人");
    $(".black").text("杀手请睁眼,杀手请选择要杀的对象");
    $(".white").text("点击下方玩家头像,对被杀玩家进行标记")
    }
    if(verdict.vote == true){//判断现在投票按钮是否被点击时,为真改变页面提示文字
    $("header").find("p").text("投票");
    $(".black").text("发言讨论结束,大家请投票");
    $(".white").text("点击得票数最多人的头像")
    }
    $(".mebtn").text("确定");//改变玩家身份页面的最下方的橘色按钮文字
    }


    编辑于2019-07-09
  • [深圳|结业弟子]JS-彭士兴
    0

    这个的话,推荐使用localStorage,而不是用sessionStorage,我用的原生js,看起来会有些麻烦,但是逻辑还算比较清晰,容易看明白

    首先新建一个数组,将被杀的人存储进去,通过json格式存储在本地

    然后,当页面回来的时候,对之前所存储的数据进行读取,

    之后,对数组进行判断,判断这个数组是否已经被赋值,如果被赋值,说明这是第二次点击,

    最后将值赋给之前被点击过的盒子

    代码如下:

        var arrayDeath=[];
        var z=0;
    //将之前存储的死亡状态重新进行二次读取
        var death=JSON.parse(localStorage.getItem('death'));
         console.log(death);
         //判断之前是否已经存储
         if(death.length !== 0){
            arrayDeath=death;
            z=death.length;
            //遍历数组,并将存储的死亡状态重新显示出来
            for(var k=0;k<arrayDeath.length;k++){
                let die=arrayDeath[k];
                document.getElementsByClassName("name")[die].style.backgroundColor="gray";
                document.getElementsByClassName("number")[die].style.backgroundColor="gray";
            }
         }

        //实现点击变色事件
        for(var j=0; j<read.length; j++){
            (function(j){
               
                //给元素添加点击事件
                document.getElementsByClassName("or")[j].onclick = function () {

                document.getElementsByClassName("name")[j].style.backgroundColor="gray";
                document.getElementsByClassName("number")[j].style.backgroundColor="gray";

                var storage = window.localStorage;
                storage.setItem("j", j);
                console.log(j);
            //将被杀的人存储进数组,每次点击之后,数组里的元素都会加1
                arrayDeath[z]=j;
                z++;
                console.log(arrayDeath) ;
                localStorage.setItem('death',JSON.stringify(arrayDeath));
                window.location.href="../jstask/daily.html";
            };

            })(j)
        }

    黑色背景的代码是第二步,正常观看顺序是从“//实现点击变色事件”这一行注释之后开始的

    编辑于2019-07-12