52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
function setTransition(div, n){
|
|
div.style.filter = "blur("+n+"px)"
|
|
}
|
|
|
|
var fading = false
|
|
|
|
function switchTheme(){
|
|
if(fading)return;
|
|
fading = true;
|
|
|
|
let LOOP_TIMES = 100;
|
|
|
|
for(let i=0;i<=LOOP_TIMES;++i){
|
|
setTimeout(() => {setTransition(div, i*2)}, i*5);
|
|
}
|
|
|
|
let div = document.getElementsByTagName("body")[0];
|
|
|
|
setTimeout(()=>{
|
|
|
|
if(currentTheme=="today"){
|
|
setTheme("2000");
|
|
}else{
|
|
setTheme("today");
|
|
}
|
|
|
|
for(let i=0;i<=LOOP_TIMES;++i){
|
|
setTimeout(() => {setTransition(div, (LOOP_TIMES-i)*2)}, i*5);
|
|
}
|
|
|
|
setTimeout(()=>fading=false, LOOP_TIMES*10)
|
|
}, LOOP_TIMES*5)
|
|
|
|
}
|
|
|
|
function setTheme(themeName){
|
|
currentTheme = themeName
|
|
document.cookie = currentTheme
|
|
for(let i of document.getElementsByClassName("css")){
|
|
if(i.rel=="stylesheet"){
|
|
let styleName = i.href.split("/").pop();
|
|
i.href = "styles/"+themeName+"/"+styleName;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(document.cookie==""){
|
|
setTheme("today")
|
|
}else{
|
|
console.log(document.cookie)
|
|
setTheme(document.cookie); // I know, we aren't supposed to store cookies like that
|
|
} |