forked from leftypol/leftypol
main.js: "transactional" transisition from default to user-selected style
This commit is contained in:
parent
3994afd10d
commit
990484fac5
1 changed files with 17 additions and 8 deletions
|
@ -137,16 +137,25 @@ function changeStyle(styleName, link) {
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% raw %}
|
{% raw %}
|
||||||
|
|
||||||
// Main stylesheet
|
let mainStylesheetElement = document.getElementById('stylesheet');
|
||||||
if (!document.getElementById('stylesheet')) {
|
let userStylesheetElement = document.getElementById('stylesheet-user');
|
||||||
var s = document.createElement('link');
|
|
||||||
s.rel = 'stylesheet';
|
// Override main stylesheet with the user selected one.
|
||||||
s.type = 'text/css';
|
if (!userStylesheetElement) {
|
||||||
s.id = 'stylesheet';
|
userStylesheetElement = document.createElement('link');
|
||||||
var x = document.getElementsByTagName('head')[0];
|
userStylesheetElement.rel = 'stylesheet';
|
||||||
x.appendChild(s);
|
userStylesheetElement.media = 'none';
|
||||||
|
userStylesheetElement.type = 'text/css';
|
||||||
|
userStylesheetElement.id = 'stylesheet';
|
||||||
|
let x = document.getElementsByTagName('head')[0];
|
||||||
|
x.appendChild(userStylesheetElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// When the new one is loaded, disable the old one
|
||||||
|
userStylesheetElement.onload = function() {
|
||||||
|
this.media = 'all';
|
||||||
|
mainStylesheetElement.media = 'none';
|
||||||
|
}
|
||||||
document.getElementById('stylesheet').href = styles[styleName];
|
document.getElementById('stylesheet').href = styles[styleName];
|
||||||
selectedstyle = styleName;
|
selectedstyle = styleName;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue