Не работает оператор Switch
Задача такая, при нажатии на одну из 3 кнопок должны вывестись надпись
Эй [Имя] Вы выбрали [цвет на русском] цвет и должен поменяться цвет фона. document.write("Эй, " + rez + " Вы выбрали "+color + " цвет"); Цвет фона меняется, но вывод надписи на экран не происходит.Как сократить в операторе Switch код? <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Тестовая страничка</title> </head> <body> <p>Выбрать цвет фона</p> <FORM> <INPUT TYPE="button" VALUE="Голубой" onClick="newcolor('lightblue')"> <INPUT TYPE="button" VALUE="Розовый" onClick="newcolor('pink')"> <INPUT TYPE="button" VALUE="Вернуть" onClick="newcolor('white')"> </FORM> <SCRIPT LANGUAGE="JavaScript"> function newcolor(color){ var rez = prompt("Пожалуйста введите свое имя...","Имя"); document.bgColor=color; switch(color){ case color == 'lightblue': color = 'Светло-голубой'; document.write("Эй, " + rez + " Вы выбрали "+color + " цвет"); break; case color == 'pink': color = 'розовый'; document.write("Эй, " + rez + " Вы выбрали "+color + " цвет"); break; case color == 'white': color = 'белый'; document.write("Эй, " + rez + " Вы выбрали "+color + " цвет"); break; } } </SCRIPT> </body> </html> |
Цитата:
|
Цитата:
https://learn.javascript.ru/switch |
Переписал так, но цвет фона не меняется почему-то
Код:
<!DOCTYPE HTML> |
Цитата:
|
Цитата:
Он еще что то может вывести во время парсинга страницы. Но это плохо, т.к. может помешать и замедлить парсинг. А во время работы страницы он полностью переписывает весь документ, что у вас и происходит. <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Тестовая страничка</title> </head> <body> <p>Выбрать цвет фона</p> <FORM> <INPUT TYPE="button" VALUE="Голубой" onClick="newcolor('lightblue')"> <INPUT TYPE="button" VALUE="Розовый" onClick="newcolor('pink')"> <INPUT TYPE="button" VALUE="Вернуть" onClick="newcolor('white')"> </FORM> <div id="out"></div> <SCRIPT LANGUAGE="JavaScript"> function newcolor(color){ var rez = prompt("Пожалуйста введите свое имя...","Имя"); var rcolor; switch(color){ case 'lightblue': rcolor = 'Светло-голубой'; break; case 'pink': rcolor = 'розовый'; break; case 'white': rcolor = 'белый'; break; } document.bgColor=color; document.getElementById('out').innerHTML = "Эй, " + rez + " Вы выбрали "+rcolor + " цвет"; } </SCRIPT> </body> </html> |
denis_alekss,
https://learn.javascript.ru/modifyin...e-soobscheniya |
Вот так сработало.
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Тестовая страничка</title> <SCRIPT type="text/JavaScript"> function newcolor(color){ var rez = prompt("ПAжалуйста введите свое имя...","Имя"); var color1 = ""; switch(color){ case 'lightblue': color1 = 'Светло-голубой'; break; case 'pink': color1 = 'розовый'; break; case 'white': color1 = 'белый'; break; } document.write("Эй, " + rez + ", Вы выбрали "+color1 + " цвет"); document.bgColor=color; } </SCRIPT> </head> <body> <p>Выбрать цвет фона</p> <FORM> <INPUT TYPE="button" VALUE="Голубой" onClick="newcolor('lightblue')"> <INPUT TYPE="button" VALUE="Розовый" onClick="newcolor('pink')"> <INPUT TYPE="button" VALUE="Вернуть" onClick="newcolor('white')"> </FORM> </body> </html> Я понял свою ошибку, спасибо, то есть нужно было создавать еще одну переменную color1 а я присвоил получается значение переменной color в switch русский текст, а затем пытался присвоить русский текст bgColor |
voraa, значит все-таки использовать контейнер div или абзац p, в него вставлять идентификатор id и использовать метод getElementById чтобы сослаться и вывести результат..
|
denis_alekss,
|
Часовой пояс GMT +3, время: 09:21. |