init
This commit is contained in:
59
seasonals.js
Normal file
59
seasonals.js
Normal file
@ -0,0 +1,59 @@
|
||||
// seasonals.js
|
||||
class SeasonalThemes {
|
||||
constructor() {
|
||||
this.currentTheme = this.determineCurrentTheme();
|
||||
this.loadTheme();
|
||||
}
|
||||
|
||||
determineCurrentTheme() {
|
||||
const date = new Date();
|
||||
const month = date.getMonth();
|
||||
|
||||
// Beispielhafte Theme-Zuordnung
|
||||
if (month === 11 || month === 0 || month === 1) return 'winter'; // Dezember, Januar, Februar
|
||||
if (month >= 2 && month <= 4) return 'spring';
|
||||
if (month >= 5 && month <= 7) return 'summer';
|
||||
if (month >= 8 && month <= 10) return 'autumn';
|
||||
|
||||
return 'winter'; // Fallback
|
||||
}
|
||||
|
||||
loadTheme() {
|
||||
const themeConfigs = {
|
||||
winter: {
|
||||
css: 'snowflakes.css',
|
||||
js: 'snowflakes.js',
|
||||
containerClass: 'snowflakes'
|
||||
},
|
||||
summer: {
|
||||
css: 'beach.css',
|
||||
js: 'beach.js',
|
||||
containerClass: 'beach'
|
||||
},
|
||||
// ... andere Themes
|
||||
};
|
||||
|
||||
const theme = themeConfigs[this.currentTheme];
|
||||
|
||||
// CSS dynamisch laden
|
||||
const link = document.createElement('link');
|
||||
link.rel = 'stylesheet';
|
||||
link.href = theme.css;
|
||||
document.head.appendChild(link);
|
||||
|
||||
// JavaScript dynamisch laden
|
||||
const script = document.createElement('script');
|
||||
script.src = theme.js;
|
||||
document.body.appendChild(script);
|
||||
|
||||
// Themen-Container hinzufügen mit dynamischer Klasse
|
||||
const container = document.createElement('div');
|
||||
container.className = `seasonals ${theme.containerClass}`;
|
||||
document.body.appendChild(container);
|
||||
}
|
||||
}
|
||||
|
||||
// Initialisierung beim Laden der Seite
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
new SeasonalThemes();
|
||||
});
|
Reference in New Issue
Block a user