javascript - 如何设置打印到控制台的单个单词的字体颜色

标签 javascript html css text fonts

我编写了一个简单的打印函数,可以将一个单词逐个字母地打印到控制台中。我还想严格使用Javascript打印出不同颜色的文本,例如:

print("Hello", "green"); print(" World", "blue"); 

function print(word, color) 
    var console = document.getElementById("myConsole");
    console.style.color = color;
    console.append(word);

我希望“Hello”为绿色,“World”为蓝色,但实际情况是控制台以绿色打印“Hello”,但随后以蓝色打印“World”,同时更改颜色“你好”也变成蓝色。

我这里有一个更详细的示例:https://jsfiddle.net/Jsbbvk/vL8tLwfh/

有没有办法访问单个单词的字体颜色?

最佳答案

创建一个新元素,为其应用颜色,将该元素添加到主元素,然后附加文本

function showText(message, color, index, interval, callback) {
  if (index < message.length) {
  	var span = document.createElement('span');
    span.style.color = color;
    document.getElementById("text_target").append(span);
    span.append(message[index++]);
    setTimeout(function() {
      showText(message, color, index, interval, callback);
    }, interval);
  } else {
    callback && callback();
  }
}


showText("HELLO", "green", 0, 200, function() {
  showText(" DONE", "red", 0, 200);
});
//Hello should be green and Done should be red
//how do you set individual text colors?
<div id="msg" />
<span id="text_target"></span>

关于javascript - 如何设置打印到控制台的单个单词的字体颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45423165/

相关文章:

javascript - sendmail 传输的回调从未在 mocha 的 after Hook 中调用

html - 在 div 中包含很长的文本

html - 带有 :before sprite overlapping and not resizing to fit text only when parent overflows 的按钮

javascript - 使用 jQuery 切换伪元素

html - 使 Iframe 适合父 div

javascript - 如何通过jquery或CSS放大和缩小循环动画中的元素

javascript - 获取相对于父元素的点击范围

javascript - Access-Control-Allow-Origin 不允许 XMLHttpRequest 来源

html - 流体布局与网格?

javascript - 固定页眉滚动时的标题转换