启用黑暗模式时,我基于HTML的OS的应用程序在黑暗和黑暗之间闪烁

时间:2020-08-18 23:53:25

标签: javascript html css

我创建了一个名为JazzyOS的网站,该网站是由HTML制成的操作系统。 https://jazzyos.awesomecrater.repl.co/ 我开始添加一个暗模式(不在设置中),该模式可以通过JavaScript控制台中的以下代码激活:

dark = true

但是在所有嵌入了它的应用程序中,如果打开了黑暗模式,则黑暗模式会一直闪烁。有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

我刚刚意识到if-then语句出了点问题。 就像这样:

setInterval(function () {
    var d = document.querySelector('.dmyi');
    if(parent.dark&& d.innerHTML !== '<link rel="stylesheet" href="darkca.css">') {
      d.innerHTML = '<link rel="stylesheet" href="darkca.css" />';
    } else {
      d.innerHTML = "";
    }
  }, 500);

但是应该是这样的:

setInterval(function () {
    var d = document.querySelector('.dmyi');
    if(parent.dark) {
      if(d.innerHTML !== '<link rel="stylesheet" href="darkca.css">') {
         d.innerHTML = '<link rel="stylesheet" href="darkca.css" />';
      }
    } else {
      d.innerHTML = "";
    }
  }, 500);