javascript - 如何使用 Javascript 更改文本颜色

标签 javascript

我希望我的引言的颜色与非我的引言的颜色不同。不属于我的名言我想成为黑人。

嗨,对于一项作业,我必须更改文档以随机显示其上的引号,添加我自己的引号,并更改其文本颜色。我尝试过这样做,但我的引言没有改变颜色。请帮忙。

<html>

   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      <title>My Web Page Of Wisdom</title> 
      <style type="text/css">
         .full-page { position:absolute; top:0; right:0; bottom:0; left:0; }
         .x-center-y-center-column { display:flex; flex-direction:column; justify-content:center; align-items:center; }
         .quote { padding:0.5em; text-align:center; font-size:1.5rem; color:#336699; }
         .author { text-align:center; font-size:1rem; color:#a0a0a0; opacity:1.0; transition:all 1.0s; }
         .navigation-buttons { position:absolute; bottom:1.0em; }
      </style> 
   </head>
  <body onload="RenderQuote(0)">
      <section class="full-page x-center-y-center-column">
         <div id="quote-block" class="quote"></div>
         <div id="author-block" class="author"></div>
         <div class="navigation-buttons">

            <button onclick="OnNext()">></button>
         </div>            
      </section>
      <script>
         let CurrentQuoteIndex = 0;
         const Quotes = [
            { Text:"Apparently there is nothing that cannot happen today.", Author:"Mark Twain" },
            { Text:"The world's most famous and popular language is music.", Author:"Henri de Toulouse-Lautrec" },
            { Text:"Life is like riding a bicycle.<br>To keep your balance you must <b>keep moving</b>.", Author:"Albert Einstein" },
            { Text:"This is a quote.", Author: "Danny", color: "#ff0000" },
            { Text:"This is quote 2.", Author: "Danny", color: "#0000FF" },
            { Text:"This is quote 3.", Author: "Danny", color: "#FF7F50" }
         ]

         OnNext = () => {
            CurrentQuoteIndex = Math.floor( Math.random() * Quotes.length ) + 1;
            RenderQuote(CurrentQuoteIndex);
         }
         RenderQuote = (QuoteIndex) => {

            let Quote = document.getElementById("quote-block");
            let Author = document.getElementById("author-block");
            Quote.innerHTML = Quotes[QuoteIndex].Text;
            Author.innerHTML = Quotes[QuoteIndex].Author;

             if( Quotes[QuoteIndex].color )
                 {
                     Quotes.style.color = Quotes[QuoteIndex].color;
                 }
             else 
             {
                 Quotes.style.color = "#000000";
             }
         }
      </script>
 </body>

</html>

最佳答案

据我了解,您已经创建了这些选定 block 的引用和作者变量,但在if语句中,您已经分配了引用变量,它是一个数组,与 DOM

没有任何关系

但是,为了解决问题,您必须在 if 语句中使用 Quote,如下所示:

if (Quotes[QuoteIndex].color) {
    Quote.style.color = Quotes[QuoteIndex].color;
} else {
    Quote.style.color = "#000000";
}

我希望这个答案有用。

关于javascript - 如何使用 Javascript 更改文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54356855/

相关文章:

javascript - MathGame 未捕获类型错误 : Cannot set property 'onclick' of null

javascript - 防止 AudioWorkletNode 内存泄漏

javascript - 在 Hogan.js 中使用 Lambda 时如何获取值

javascript - css 数据属性选择器的正则表达式

javascript - knockoutjs 单击绑定(bind)在嵌套的 foreach 中不起作用

javascript - Angular : Access stored data in a factory after a $http call

javascript - 根据从下拉列表中选择的选项渲染模板

javascript - 将 d3.csv 方法转换为 d3.csv.parse 方法

javascript - 不移动第一个元素的同位素度假村

javascript - 为什么这段 html 代码无法识别 javascript 文件中定义的 javascript 函数?