Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > при событии onclick действие с другим объектом


Автор: ZorGG 3.5.2010, 19:49
У меня вот такой вопрос: Как сделать что-бы при событии onclick можно было выполнять функции с другими(внешними) объектами?

Думаю проще будет объяснить на коде:

Код

<tr><td style="display: block;"><a href="ssilka.html" onclick="this.style.display='none';">Ссыль</a></td></tr>
<tr><td style="display: block;"><a href="ssilka2.html" onclick="this.style.display='none';">Ссыль</a></td></tr>


Это обычный онклик. Но вот как сделать что бы при собитии онклик в первой ячейке вторая ячейка исчезла?

пытался сделать так:
Код

<tr><td id="1" style="display: block;"><a href="ssilka.html" onclick="this.style.display='none';">Ссыль</a></td></tr>
<tr><td id="2" style="display: block;"><a href="ssilka2.html" onclick="2.style.display='none';">Ссыль</a></td></tr>


Естетсвенно браузер сказал мне "Сам дурак".

Помогите кто чем может smile если не тяжело то литературку на событие OnClick ато я его не понимаю :(

Автор: Slauta 3.5.2010, 20:16
А JavaScript чем не устраивает?

Автор: ZorGG 3.5.2010, 21:25
Slauta, 

Ну насколько я понимаю OnClick это уже JS,
И JS устраивает, только я не находил(точнее не могу сформулировать запрос).

***

Для того что-бы просветить ситуацию:

Есть JS, но минус этого скрипта в том что для того что-бы свернуть DIV нужно снова таки нажать на ту же(ссылку которая открывает DIV) сылку, естетсвенно с точки зрания пользователя это неудобно, и врят-ли кто то из пользователей будет это делать, поэтому я решил к ссылке, с помощью которой открывается DIV, прикрутить событие onclick которое собственно и должно снова делать невидимыми все открытые перед этим DIV-ы.

Если я не правильно мыслю поправьте пожалуйста smile

Автор: нуп 3.5.2010, 21:42
Код

getElementById('2').style.display='none';

скрывать / раскрывать на мой взгляд красивее через jquery  smile 

Автор: ZorGG 3.5.2010, 22:18
нуп, 

на счёт jQery не знаю, как-то с опаской на него смотрю. Покуда что собственно ничего о нём не знаю ктоме того что это библиотека JS поэтому не пользуюсь).


Извиняюсь за то что туплю но куда прикручивать getElementById

Автор: нуп 3.5.2010, 22:40
Код

    <div id="div_1" style="width:100px; height: 100px; background: #eee; border:1px solid red;" onclick="document.getElementById('div_2').style.display='none'; this.style.dispaly='none'; this.style.visibility='hidden';"></div>
    <div id="div_2" style="width:100px; height: 100px; background: #ccc;"></div>

Но лучше пиши функции  smile 

Автор: bars80080 3.5.2010, 23:17
лучше в начале книжки почитать. сие же в двух словах показывается в качестве вводных примеров

Автор: SelenIT 4.5.2010, 01:02
Цитата(ZorGG @  3.5.2010,  19:49 Найти цитируемый пост)
onclick="2.style.display='none';"

Кстати, могло бы сработать, если бы id был какой положено по стандарту - начинающийся с буквыsmile. Но document.getElementById(ID_элемента), конечно, надежнее и универсальнее.

И еще, поскольку топик в верстальном разделе, замечание по первому примеру - никогда не ставьте display:block ячейкам/строкам таблицы. У них специальные табличные значения display, при замене их на block могут быть слабопредсказуемые глюки.

Самый надежный скрывать/показывать элемент, меняя его класс - добавляя класс, скажем, invisible, определенный как
Код

.invisible { display: none }
и убирая его (через className).

Автор: ZorGG 4.5.2010, 14:56
Цитата

Но лучше пиши функции  smile 

Мне кажется что покудачто можно обойтись и без них. Хотя не исключаю что вы правы

Цитата

лучше в начале книжки почитать. сие же в двух словах показывается в качестве вводных примеров

Если не трудно можно сылки на литературу. В первом посте я-ж сказал что не понимаю onclick поэтому не прочь почитать литературки.

Цитата

И еще, поскольку топик в верстальном разделе, замечание по первому примеру - никогда не ставьте display:block ячейкам/строкам таблицы. У них специальные табличные значения display, при замене их на block могут быть слабопредсказуемые глюки.


Спасибо, буду знать.

Цитата

Кстати, могло бы сработать, если бы id был какой положено по стандарту - начинающийся с буквы. Но document.getElementById(ID_элемента), конечно, надежнее и универсальнее.

Проверил, действительно, если ID начинается с буквы то всё работает =)

Автор: bars80080 4.5.2010, 19:20
Цитата(ZorGG @  4.5.2010,  14:56 Найти цитируемый пост)
Если не трудно можно сылки на литературу. В первом посте я-ж сказал что не понимаю onclick поэтому не прочь почитать литературки.

да обычную нормальную книжку по js. советовать трудно, так как надо идти и смотреть что есть.
но данный момент показывается наверное в 95% литературы. во всяком случае он был во всех, что я видел

Автор: ZorGG 4.5.2010, 22:50
bars80080, Понятно, Спасибо большое smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)