-
Вложений: 1
JavaScript
Добрый день!
Мне нужна ваша помощь,у меня проблема с измением стилей.Вот пример моего кода:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<style>
.read {width: 140px; height: 100px; background-color: blue;}
.read2{width: 140px; height: 100px; background-color: red;}
</style>
<script>
var flag=1;
function cl(){
if(flag == 1)
{
document.getElementById('read').className = 'read2';
flag = 0;
}
else
{
document.getElementById('read').className = 'read';
flag = 1;
}
}
var chek =1;
function clic(){
if(chek == 1)
{
document.img1.src = 'img/chek1.png';
chek = 0;
}
else
{
document.img1.src = 'img/chek0.png';
chek = 1;
}
}
</script>
</head>
<body>
<div class="read" id="read">
<img src="img/chek0.png" onmousedown="cl(); clic()"/>
</div>
<div class="read" id="read">
<img src="img/chek0.png" onmousedown="cl(); clic()"/>
</div>
<div class="read" id="read">
<img src="img/chek0.png" onmousedown="cl(); clic()"/>
</div>
</body>
</html>
.......только все эти функции работаю только для 1го div,изменяют внем фон 1го div и картинку. Пробовал создавать отдельную функцию для замены картинки, но в этом случае картинка заменятеся не сразу, а на второй клик. Как сделать чтобы обе функции заработали для всех блоков?
Заранее спасибо!
-
Советую вам уставновить Firefox и JavaScript Debugger к нему. Отладить ваш скрипт, и понять как он себя ведет, если вы не представляете это в процессе написания. Тогда все проблемы сами-собой исчезнут. Не ленитесь использовать дебаггер для JavaScript.
Запомните раз и навсегда. ID элемента должен быть уникальным на странице. В вашем же случае используется первый элемент потока который имеет ID = "read". Остальные соответственно игнорируются, так как три одинаковых ID есть ошибка. Это и есть ответ на ваш вопрос. Используйте событие onmouseclick чтобы заменялось сразу и THIS для того чтобы указать какой именно элемент выстреливает событие. Тогда в функции вы сможете обращаться к нему, и не искать его по ID. И не будет проблем.
Зарубите на носу - !необходимо! проводить валидацию документа. В вашем случае валидатор бы сразу указал на ошибку, о которой вы не подозревали. Опять таки, поставьте расширения на FF, там естьи валидация и консоль и всё что нужно веб-разработчику.
-
help help!!!
ищю себе учителя по JavaScript кто знает такого подскажите!!!!!!
-
Купи книжку JavaScript 10 минут на урок. И будешь рада.
-
Никогда не понимал надобность репетитора :)
[B]tanyusha[/B], единственное, что могу сказать: не покупай книги Вадима Дунаева.
Если дадите мне доллар за каждую найденную ошибку у него в книге - я разбогатею.
-
Спасибо ребята, но в том то и дело что книг уже 100 штук, а толку от них.... Надо чтоб над головой сидели. Или все не то покупаю, есть проверенные?
-
Над головой сидят тогда, когда надо заставлять. Вас ведь не нужно заставлять? 100 штук по JavaScript это слишком много. Вам достаточно будет одной. 10 минут на урок. Нужно ознакомится с основами. А все остальное прийдется искать на форумах, руководствах, справочнике. После основ желательно изучить какой-то фреймворк, Prototype например. Тогда разработка будет занимать у вас не так много времени.
-
Спасибо, буду стараться,а если что поможите?:girl_cray3:
-
Изучите основы. Cинтаксис языка, DOM и основные функции которые есть в JavaScript. Узнайте его возможности и что на нем можно делать. А остальное само-собой пойдет.