@GamerNebulae @EliTownsend答えを勉強し、いくつかの変更を加えた後、私は自分の状況に適した解決策を考え出します。
実行時に重いかどうかわかりません。さらなる改善のためのアドバイスをいただければ幸いです。
CSS
body.dark {
background: #222;
color: #777;
}
HTML
<a href="#" onclick="changeTheme()">Switch</a>
Javscript
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
function changeTheme() {
if (jQuery("body").hasClass("dark")) {
jQuery("body").removeClass("dark");
createCookie('theme', 'regular', 7);
}
else {
jQuery("body").addClass("dark");
createCookie('theme', 'dark', 7);
}
}
// initialize page, apply theme color by checking cookie variable 'theme'
var theme = readCookie('theme');
if(theme == "dark") jQuery("body").addClass("dark");
else if (theme == "regular") jQuery("body").removeClass("dark");
else if (jQuery("body").hasClass("dark")) createCookie('theme', 'dark', 7);
出典
2016-05-13 15:40:48
KDX
あなたはどうなんですけれども持っていますか?私たちに見せることができるコードはありますか? – DevNebulae
私は計画段階です。私の考えは、クッキーを使ってユーザーの好みを記憶することでした。 javascript/jqueryリンク/ボタンを使用して、テキスト/背景/リンクカラーのCSSを切り替えます。 JavaScriptの部分は私が慣れていないものです。私はまだコードはありません、単純な 'body {color:black;背景:白; } {色:青} 'で始めて、空白のキャンバス上にすべてを最初から構築しています。 – KDX
私は、複数のファイル間で共有クラスを作成し、さまざまな種類の色のCSSファイルをロードすることを選択します。 'blue-stylesheet.css'と' pink-stylesheet.css'があり、どちらも 'user-selected-color'のクラスを持っています。 – DevNebulae