简体   繁体   English

如果页面重新加载,请保留JavaScript更改

[英]Keep javascript changes if page reload

I made a very simple system where if the user clicks on a colour, some parts of the page turn that colour. 我制作了一个非常简单的系统,其中,如果用户单击一种颜色,则页面的某些部分将变为该颜色。 But my question is, Is there a way to save this colour? 但是我的问题是,有没有办法保存这种颜色? That if the person refreshes the page the colour is still there? 那如果该人刷新页面,该颜色仍然存在吗?

This is the concept of my code, I made it very simple but in my project its way bigger. 这就是我的代码的概念,我使它非常简单,但是在我的项目中它变得更大。 This is how i've done it 这就是我的做法

 $(document).ready(function() { $("#Blue").click(function() { $(".colorchange").css('background-color', '#0069D9'); }); $("#Purple").click(function() { $(".colorchange").css('background-color', '#563B64'); }); $("#Green").click(function() { $(".colorchange").css('background-color', '#00BA4B'); }); $("#Yellow").click(function() { $(".colorchange").css('background-color', '#FFFF00'); }); $("#Orange").click(function() { $(".colorchange").css('background-color', '#FF5E00'); }); $("#Red").click(function() { $(".colorchange").css('background-color', '#CC0000'); }); }); 
 .colorchange { } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" integrity="sha384-y3tfxAZXuh4HwSYylfB+J125MxIs6mR5FOHamPBG064zB+AFeWH94NdvaCBm8qnd" crossorigin="anonymous"> <button id="Blue">Blue</button> <button id="Purple">Purple</button> <button id="Green">Green</button> <button id="Yellow">Yellow</button> <button id="Orange">Orange</button> <button id="Red">Red</button> <button class="btn btn-primary colorchange" type="submit">This color changes</button> 

Thanks in advance 提前致谢

You can do this using localStorage . 您可以使用localStorage进行此操作。 It will store the selected color in browser's memory and when user refreshes the page, you can read the stored colour and set it using jquery. 它将选择的颜色存储在浏览器的内存中,当用户刷新页面时,您可以读取存储的颜色并使用jquery进行设置。

$(document).ready(function() {

    $("#Blue").click(function() {
       $(".colorchange").css('background-color', '#0069D9');        
       saveColor('#0069D9');
    });

    $("#Purple").click(function() {
        $(".colorchange").css('background-color', '#563B64');
        saveColor('#563B64');
    });

    $("#Green").click(function() {
        $(".colorchange").css('background-color', '#00BA4B');
        saveColor('#00BA4B');
    });

    $("#Yellow").click(function() {
        $(".colorchange").css('background-color', '#FFFF00');
        saveColor('#FFFF00');
    });

    $("#Orange").click(function() {
        $(".colorchange").css('background-color', '#FF5E00');
        saveColor('#FF5E00');        
    });

    $("#Red").click(function() {
        $(".colorchange").css('background-color', '#CC0000');
        saveColor('#CC0000');    
    });

    function saveColor(color)
    {
        localStorage.setItem("selectedcolor", color);
    }

    var clr = localStorage.getItem("selectedcolor");
    if(clr != '' && clr != null)
    {
        $(".colorchange").css('background-color', clr);
    }
});

You can use localStorage to save different values. 您可以使用localStorage保存不同的值。 localStorage stores key-value pairs. localStorage存储键值对。

Example: 例:

 localStorage.setItem("BlueDiv", "#0069D9");

You can then retrieve the data like this: 然后,您可以像这样检索数据:

localStorage.getItem("BlueDiv"); //Returns "#0069D9"

Don't forget to set colors to the saved values on page load. 不要忘记在页面加载时将颜色设置为保存的值。

您可以使用cookieslocalstorage存储来存储更改

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM