Задача такая, при нажатии на одну из 3 кнопок должны вывестись надпись Эй [Имя] Вы выбрали [цвет на русском] цвет и должен поменяться цвет фона. Код (Text): document.write("Эй, " + rez + " Вы выбрали "+color + " цвет"); Цвет фона меняется, но вывод надписи на экран не происходит.Как сократить в операторе Switch код? Код (Text): <!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>
@denis_alekss, ознакомьтесь: Конструкция "switch". И сравните с тем, как она применяется у вас. Особенно присмотритесь к условию в блоке case.
Переписал так, но цвет фона не меняется почему-то Код (Text): <!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("Пожалуйста введите свое имя...","Имя"); switch(color){ case 'lightblue': color = 'Светло-голубой'; break; case 'pink': color = 'розовый'; break; case 'white': color = 'белый'; break; } document.bgColor=color; document.write("Эй, " + rez + " Вы выбрали "+color + " цвет"); } </SCRIPT> </body> </html>
Выводимое название цвета отображается? Во-первых, свойство bgColor объявлено как deprecated. (Подробнее), одна из альтернатив: document.body.bgColor. Во-вторых, в 39-й строке приведённого в #3 кода - переменная color уже содержит "название", а не "идентификатор" цвета.
пытася сам с собой разговаривать когда решаешь задачу. - где у меня задается цвет нужному элементу? - тому ли элементу я задаю цвет - правильно ли я его задаю на 38 строке я вижу что ты для document.bgColor присваеваешь значение = строку на русском языке "белый", я не уверен что оно так работает. (по крайней мере не ра русском языке) второе, почитай что такое document.write. (если я не ошибаюсь document.write грубо говоря удаляет все со страницы и вставляет текст с новой разметкой, соответственно то что ты хотеля перекрасить тоже удаляется).Ты знаешь что таоке консоль разработчика? нажми на странице F12 и посмотри структуру DOM. Нажимай кнопки и смотри меняется что то или нет? третье - везде в js коде раставляй console.log('я тут') console.log('а тперь тут')... и смотри куда ты заходишь и как ты вызываешь функции, потом когда поймешь куда ты заходишь в console.log поменяй "я тут" на сolor (подставляй переменные) glhf
Вот так сработало. Код (Javascript): <!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