Не работает оператор 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, время: 08:13. |