我希望能够使用HTML和脚本来创建一个页面,以显示每个字符是不同随机生成的颜色的文本。使用支持创建和使用RBG颜色和Math.random()方法的JavaScript图形库,制作随机彩色线条/形状/等很简单,但我不知道如何将其应用于文本,更不用说了如何将其应用于每个角色。有任何想法吗?彩虹在HTML页面上的文本...每个字符是一个不同的随机生成的颜色
0
A
回答
1
-2
这里是我的代码:
<script type="text/javascript">
function toSpans(span) {
var str = span.firstChild.data;
var a = str.length;
span.removeChild(span.firstChild);
for (var i = 0; i < a; i++) {
var theSpan = document.createElement("SPAN");
theSpan.appendChild(document.createTextNode(str.charAt(i)));
span.appendChild(theSpan);
}
}
function RainbowSpan(span, hue, deg, brt, spd, hspd) {
this.deg = (deg == null ? 360 : Math.abs(deg));
this.hue = (hue == null ? 0 : Math.abs(hue) % 360);
this.hspd = (hspd == null ? 3 : Math.abs(hspd) % 360);
this.length = span.firstChild.data.length;
this.span = span;
this.speed = (spd == null ? 50 : Math.abs(spd));
this.hInc = this.deg/this.length;
this.brt = (brt == null ? 255 : Math.abs(brt) % 256);
this.timer = null;
toSpans(span);
this.moveRainbow();
}
RainbowSpan.prototype.moveRainbow = function() {
if (this.hue > 359) this.hue -= 360;
var color;
var b = this.brt;
var a = this.length;
var h = this.hue;
for (var i = 0; i < a; i++) {
if (h > 359) h -= 360;
if (h < 60) {
color = Math.floor(((h)/60) * b);
red = b;
grn = color;
blu = 0;
} else if (h < 120) {
color = Math.floor(((h - 60)/60) * b);
red = b - color;
grn = b;
blu = 0;
} else if (h < 180) {
color = Math.floor(((h - 120)/60) * b);
red = 0;
grn = b;
blu = color;
} else if (h < 240) {
color = Math.floor(((h - 180)/60) * b);
red = 0;
grn = b - color;
blu = b;
} else if (h < 300) {
color = Math.floor(((h - 240)/60) * b);
red = color;
grn = 0;
blu = b;
} else {
color = Math.floor(((h - 300)/60) * b);
red = b;
grn = 0;
blu = b - color;
}
h += this.hInc;
this.span.childNodes[i].style.color = "rgb(" + red + ", " + grn + ", " + blu + ")";
}
this.hue += this.hspd;
}
</script>
<center>
<p id="r3">© Copyright 2013 by K45KMT</p>
</center>
<script type="text/javascript">
var r3 = document.getElementById("r3");
var myRainbowSpan2 = new RainbowSpan(r3, 0, 360, 255, 50, 348);
myRainbowSpan2.timer = window.setInterval("myRainbowSpan2.moveRainbow()", myRainbowSpan2.speed);
var colour = "#FF2535";
</SCRIPT>
+0
我添加了你的代码。您应该添加一些解释并花点时间熟悉降价系统。 – MasterAM 2013-12-28 20:55:30
相关问题
- 1. 字符串中的每个字母不同的颜色,HTML PHP
- 2. 产生12个随机颜色每月
- 3. 随机颜色生成器(全部,不只是一个单词)
- 4. Python - 使每个字符/行随机彩色打印?
- 5. 生成两个相同的随机数和一个不同的
- 6. 红宝石,生成一个随机的十六进制颜色
- 7. 随机生成颜色类似的另一种颜色
- 8. 用这个HTML/Javascript/CSS生成一个随机字符串?
- 9. FreeType2多个字符和随机颜色
- 10. 在SHTML页面中生成一个随机数字
- 11. 更改彩虹虫的颜色
- 12. 生成随机的柔和颜色
- 13. 如何绘制每个字符不同颜色的字符串
- 14. 生成唯一随机显着颜色?
- 15. 如何在python中生成50个随机颜色的列表?
- 16. 生成随机但好看,不同的颜色?
- 17. 在同一个html页面上使用不同的D3版本
- 18. Java生成一个随机的阿拉伯文字符串
- 19. 生成一个随机数并添加到一个HTML参数的字符串
- 20. 如何生成一个随机数,每次都是唯一的
- 21. 每次生成一个随机字符串
- 22. 在一个立方体的表面上生成3D随机点
- 23. 随机化颜色的一个jqPlot图
- 24. 创建一个所有相邻颜色不同的随机颜色网格
- 25. 可可不同的文字颜色在同一个字母
- 26. 在Java中生成一个随机的字符串
- 27. 生成在壳的随机密码与一个特殊字符
- 28. VSTO Powerpoint注释页面 - 同一行上的不同颜色的文字
- 29. 3x3的表格和HTML每一面不同的颜色
- 30. 为HTML生成一个随机数
但彩虹不是随机:-( – 2015-06-29 11:06:09