Начав изучать JavaScript, я решил сделать программу, которая будет принимать строку, а затем вернуть ту же строку, но она будет иметь разные цвета для каждого символа.Функция Javascript не определена
Не знаете, почему при компиляции, как только я вызываю функцию Rainbow, функция не определена. Также, пытаясь распечатать строку, но я не уверен, правильно ли я делаю это. Любые логические и стилистические советы и исправления очень ценятся!
<script>
function Rainbow(x) {
var mystring = String(x); @* convert to string*@
var Stringlength = mystring.lenth; @* length fo string *@
var rainbowstring = new Array(Stringlength); @* create array of appropriate size*@
var counter = 0;
var clr, letter;
while (counter < Stringlength) {
letter = mystring.charAt(counter);
var randomnumber = Math.floor(Math.random() * 10); @* random number generator --> 11 means 0-10 *@
switch (randomnumber) {
case 0: clr = #FF0000; break;
case 1: clr = #00FF00; break;
case 2: clr = #0000FF; break;
case 3: clr = #FF00FF; break;
case 4: clr = #000000; break;
case 5: clr = #00FFFF; break;
case 6: clr = #33FFFF; break;
case 7: clr = #33FF00; break;
case 8: clr = #FFFF00; break;
case 9: clr = #FF66CC; break;
}
rainbowstring[counter] = <span style = 'color:"+clr+"'>"+letter+"</span>; @* assign color *@
counter++; @* increment *@
}
return rainbowstring;
}
@* need something that generates colors *@
@* assigns colors to text *@
</script>
<form>
Enter String: <input type ="text" name ="rainbowstring" id ="rainbowinput"/><br>
</form>
<button
type = "button" onclick = "Rainbow(document.getElementById('rainbowinput').value)" > Rainbow Generator
</button>
вы должны сделать 'clr' значения строки , –
@ DanielA.White Я не уверен, как это сделать. Вы имеете в виду что-то вроде «# 33FFFF»? – Liondancer
Вы также сделали опечатку: 'mystring.lenth' должен быть' mystring.length'. – mc10