Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Динамическое изменение фона страницы
 
 автор: Mookapek   (26.10.2008 в 00:53)   письмо автору
 
 

<html>
<head>
<title>Изменение фона страницы</title>

<script type="text/javascript">

function changeColor(divColor)
{
document.bgColor = divColor;
}

</script>

</head>

<body>

<div style='width:20; height:20; background-color:red' onclick="changeColor("red")"></div>
<div style='width:20; height:20; background-color:green' onclick="changeColor("green")"></div>
<div style='width:20; height:20; background-color:blue' onclick="changeColor("blue")"></div>

</body>
</html>

Есть три квадратика разных цветов. При клике на один из них фон странице становится таким же, как и фон квадратика. Код выше не работает. JavaScript только недавно начал изучать, так что ошибка может быть глупая. Помогите, пожалуйста, разобраться.

  Ответить  
 
 автор: sl1p   (26.10.2008 в 02:28)   письмо автору
 
   для: Mookapek   (26.10.2008 в 00:53)
 

function changeColor(divColor)
{
document.body.style.backgroundColor = divColor;
}

  Ответить  
 
 автор: Mookapek   (26.10.2008 в 15:34)   письмо автору
 
   для: sl1p   (26.10.2008 в 02:28)
 

Всё равно не работает.

  Ответить  
 
 автор: PAT   (27.10.2008 в 00:00)   письмо автору
 
   для: Mookapek   (26.10.2008 в 15:34)
 

Работающий код:
<div style='width:20; height:20; background-color:red' onclick="changeColor('red')"></div>
<div style='width:20; height:20; background-color:green' onclick="changeColor('green')"></div>
<div style='width:20; height:20; background-color:blue' onclick="changeColor('blue')"></div>


Найдите 6 (шесть) отличий от кода, что прописан у вас.
Как только найдёте эти 6 (шесть) отличий, так сразу и поймёте - почему у вас не работает.

  Ответить  
 
 автор: Mookapek   (27.10.2008 в 00:57)   письмо автору
 
   для: PAT   (27.10.2008 в 00:00)
 

Ага, заработало! Не думал, что надо использовать именно одинарные кавычки вместо двойных...
Ведь alert("Hello, world!") работает, но почему же в данной ситуации не хочет?

  Ответить  
 
 автор: PAT   (27.10.2008 в 02:32)   письмо автору
 
   для: Mookapek   (27.10.2008 в 00:57)
 

Ну да ладно... вот вам ещё один работающий код:
<div style='width:20; height:20; background-color:red' onclick='changeColor("red")'></div>
<div style='width:20; height:20; background-color:green' onclick='changeColor("green")'></div>
<div style='width:20; height:20; background-color:blue' onclick='changeColor("blue")'></div>


Снова найдите 6 (шесть) отличий и от кода, что прописан у вас, и 12 (двенадцать) отличий от работающего кода, который я давал вам выше.

Подсказка: браузер, найдя ЛЮБУЮ кавычку (одинарную или двойную), начинает искать следующую ТАКУЮ ЖЕ, чтобы ВСЁ, заключенное между двумя ОДИНАКОВЫМИ кавычками считать определённой фразой, имеющей завершенный логический смысл.
Когда написано как у вас - onclick="changeColor("green")" -, то браузер получает ДВЕ фразы: "changeColor(" и ")". Есть ли в каждой из них завершенный логический смысл, как полагаете? :-)

[поправлено модератором]

  Ответить  
 
 автор: Mookapek   (27.10.2008 в 20:40)   письмо автору
 
   для: PAT   (27.10.2008 в 02:32)
 

Мда, а ошибка и правда глупой оказалась... :)
Спасибо, PAT!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования