-2

我有一个字符串"Hello World!"

我想在 JavaScript 中更改单词中margin的每个字符。"Hello World!"例如:

“H”字符的边距为5px;

"e" 字符的边距为 3px;

ETC

我该怎么做?

4

5 回答 5

1
var color = ['#FF0000','#00FF00','#0000FF'];

window.onload = function()
{
  var div = document.getElementById('sample');
  var str = 'ABC';
  for(var i=0;i<str.length;i++)
  {
      var span = document.createElement('span');
      var text  = document.createTextNode(str[i]);
      span.style.color = color[i];
      span.appendChild(text);
      div.appendChild(span);
  }
}

<div id='sample'></div>

样品小提琴

看看上面的代码。它可能会帮助你。我在这里使用 span 的原因是我无法设置文本节点的样式,所以我能做的唯一方法是将文本节点附加到 span

在这里,我只出现了三个字符。您可以对“n”个字符执行相同的操作

于 2013-05-21T12:39:57.773 回答
1

最好的方法是这段代码:

<script type="text/javascript">
  var message = "The quick brown fox.";
   var colors = new Array("#ff0000","#00ff00","#0000ff"); // red, green, blue
   for (var i = 0; i < message.length; i++)
      document.write("<span style=\"color:" + colors[(i % colors.length)] + ";\">" + message[i] + "</span>");
</script>

而且效果很好!

于 2013-05-21T12:47:03.173 回答
0

像这样的东西:

str = "Hello world!";
arr = str.split('');
document.write(arr[0].fontcolor("yellow")+arr[1].fontcolor("red")
+arr[2].fontcolor("blue"));
于 2013-05-21T12:51:12.573 回答
0
('.cls').each(function(){

 var str = $(this).text().split('');
 $(this).text('');

for(var i = 0; i < str.length; i++){
    if(i % 2 == 0){
        $(this).append('<span style="color:blue">' + str[i] + '</span>')
    }
    else{
        $(this).append('<span style="color:yellow">' + str[i] + '</span>')
    }
}
})
于 2013-05-21T12:48:03.880 回答
0

fontcolor 方法是你所需要的

<script>
var str = "Hello world!";
document.write(str.fontcolor("green"));
</script>

还值得注意的是,fontcolor("") 的参数也可以是十六进制数字或 rgb 形式。如果您还有任何问题,请发表评论。

http://www.w3schools.com/jsref/jsref_fontcolor.asp

于 2013-05-21T12:40:18.560 回答