Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在所有网页上和刷新后使用javascript保持更改_Javascript_Html_Css - Fatal编程技术网

在所有网页上和刷新后使用javascript保持更改

在所有网页上和刷新后使用javascript保持更改,javascript,html,css,Javascript,Html,Css,我有一个下拉选择器,可以让你选择带有选项“白色”和“黑色”的网站主题 我在每个页面的单独js文件中为其他页面设置了相同的选择器和js函数 当我选择一个主题选项,然后刷新或转到另一个页面时,主题颜色会回到默认的白色 问题是,在刷新网站后,如何为其他页面保留已更改的主题?将选择保存在localStorage中,并在页面加载时,将样式设置为localStorage中的值(如果有) 例如: var body = document.getElementById('body'); if (localStor

我有一个下拉选择器,可以让你选择带有选项“白色”和“黑色”的网站主题

我在每个页面的单独js文件中为其他页面设置了相同的选择器和js函数

当我选择一个主题选项,然后刷新或转到另一个页面时,主题颜色会回到默认的白色


问题是,在刷新网站后,如何为其他页面保留已更改的主题?

将选择保存在
localStorage
中,并在页面加载时,将样式设置为
localStorage
中的值(如果有)

例如:

var body = document.getElementById('body');
if (localStorage.color) body.style.backgroundColor = localStorage.color;
function changeColor(x) {
  if (x.value == 'black') {
    body.style.backgroundColor = x.value;
    body.style.color = 'white';
    localStorage.color = 'white';
  } else if (x.value == 'white') {
    body.style.backgroundColor = x.value;
    body.style.color = 'black';
    localStorage.color = 'white';
  }
}

将所选内容保存在
localStorage
中,并在页面加载时,将样式设置为
localStorage
中的值(如果有)

例如:

var body = document.getElementById('body');
if (localStorage.color) body.style.backgroundColor = localStorage.color;
function changeColor(x) {
  if (x.value == 'black') {
    body.style.backgroundColor = x.value;
    body.style.color = 'white';
    localStorage.color = 'white';
  } else if (x.value == 'white') {
    body.style.backgroundColor = x.value;
    body.style.color = 'black';
    localStorage.color = 'white';
  }
}

你可以把它和饼干放在一起。 使用此选项:

然后就是:

Cookies.set('color', dark);
Cookies.get('color'); // if you console log it it will say "dark"
Cookies.set('color', white);
Cookies.get('color'); // if you console log it it will say "white"
编辑:

最终代码应类似于:

HTML:

注意

如果您不使用像localhost这样的域,Cookies将不起作用


这应该可以很好地工作,但您应该对其进行改进:)

您可以使用cookies进行设置。 使用此选项:

然后就是:

Cookies.set('color', dark);
Cookies.get('color'); // if you console log it it will say "dark"
Cookies.set('color', white);
Cookies.get('color'); // if you console log it it will say "white"
编辑:

最终代码应类似于:

HTML:

注意

如果您不使用像localhost这样的域,Cookies将不起作用


这应该可以很好地工作,但您应该对其进行改进:)

可能重复的可能重复的可能重复的我已经在我的html头标记中添加了脚本。你能告诉我如何在我的代码中执行cookie部分吗?我已经在我的html头标签中添加了脚本。您能告诉我如何在代码中执行cookie部分吗?
<select id="Invert" onchange="changeColor()">
    <option value="white">White</option>
    <option value="black">Black</option>
</select>
document.body.style.backgroundColor = Cookies.get('color');

function changeColor() {
    var select = document.getElementById("Invert");
    var option = select.options[select.selectedIndex].value;
    document.body.style.backgroundColor = option;
    Cookies.set('color', option);
}