Задачка DHTML
От: Аноним  
Дата: 21.05.09 07:57
Оценка:
Есть документ содержащий N-конструкций вида

<A>показать/скрыть</A><DIV>Первые 4 строки месаджа</DIV><DIV>Месадж целиком</DIV>

Итого:

<A>показать/скрыть</A><DIV>Первые 4 строки месаджа1</DIV><DIV style="display:none">Месадж1 целиком</DIV>
<A>показать/скрыть</A><DIV>Первые 4 строки месаджа2</DIV><DIV style="display:none">Месадж2 целиком</DIV>
...
<A>показать/скрыть</A><DIV>Первые 4 строки месаджаN</DIV><DIV style="display:none">МесаджN целиком</DIV>

Как сделать чтобы тег A скрывал следующий за ним DIV и открывал DIV с полным месаджем. Генерить 2*N id-ишника выглядит, на мой взгляд, не инженерно. При повторном жмаке должен наблюдаться обратный эффект.
Re: Задачка DHTML
От: Аноним  
Дата: 21.05.09 08:02
Оценка:
Я знаю что это возможно, только не помню как — делал такие штуки сильно давно по человеческим меркам.
Re: Задачка DHTML
От: Ney Россия http://mitlex.ru/
Дата: 21.05.09 12:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть документ содержащий N-конструкций вида


А><A>показать/скрыть</A><DIV>Первые 4 строки месаджа</DIV><DIV>Месадж целиком</DIV>


А>Итого:


А><A>показать/скрыть</A><DIV>Первые 4 строки месаджа1</DIV><DIV style="display:none">Месадж1 целиком</DIV>

А><A>показать/скрыть</A><DIV>Первые 4 строки месаджа2</DIV><DIV style="display:none">Месадж2 целиком</DIV>
А>...
А><A>показать/скрыть</A><DIV>Первые 4 строки месаджаN</DIV><DIV style="display:none">МесаджN целиком</DIV>

А>Как сделать чтобы тег A скрывал следующий за ним DIV и открывал DIV с полным месаджем. Генерить 2*N id-ишника выглядит, на мой взгляд, не инженерно. При повторном жмаке должен наблюдаться обратный эффект.


На jQuery такое не сложно реализовать. Можно посмотреть метода before и after. Если в проекте не используется jQuery, то можно и на чистом Javascript сделать, только немного сложнее.

Вообщем, если всё-таки не найдёшь решение — обращайся, помогу.
jQuery
От: Mamut Швеция http://dmitriid.com
Дата: 21.05.09 14:31
Оценка:
Ney> На jQuery такое не сложно реализовать. Можно посмотреть метода before и after. Если в проекте не используется jQuery, то можно и на чистом Javascript сделать, только немного сложнее.

мой старый и неоптимальный вариант на jQuery здесь: http://dmitriid.com/jquery/ (пример «Связаные одной цепью»). Там же есть альтернативные варианты
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
Re: Задачка DHTML
От: masterlelik  
Дата: 22.05.09 08:27
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть документ содержащий N-конструкций вида


А><A>показать/скрыть</A><DIV>Первые 4 строки месаджа</DIV><DIV>Месадж целиком</DIV>


А>Итого:


А><A>показать/скрыть</A><DIV>Первые 4 строки месаджа1</DIV><DIV style="display:none">Месадж1 целиком</DIV>

А><A>показать/скрыть</A><DIV>Первые 4 строки месаджа2</DIV><DIV style="display:none">Месадж2 целиком</DIV>
А>...
А><A>показать/скрыть</A><DIV>Первые 4 строки месаджаN</DIV><DIV style="display:none">МесаджN целиком</DIV>

А>Как сделать чтобы тег A скрывал следующий за ним DIV и открывал DIV с полным месаджем. Генерить 2*N id-ишника выглядит, на мой взгляд, не инженерно. При повторном жмаке должен наблюдаться обратный эффект.


Вот пример, сделанный 3 года назад
http://yares.ua/
Главное понять сам принцип, а уже где хранить дивы дело твое (в данном примере они хранятся в массиве).
Re: Задачка DHTML
От: c-smile Канада http://terrainformatica.com
Дата: 23.05.09 05:30
Оценка: 7 (2)
Здравствуйте, Аноним, Вы писали:

А>Есть документ содержащий N-конструкций вида


А><A>показать/скрыть</A><DIV>Первые 4 строки месаджа</DIV><DIV>Месадж целиком</DIV>


А>Итого:


А><A>показать/скрыть</A><DIV>Первые 4 строки месаджа1</DIV><DIV style="display:none">Месадж1 целиком</DIV>

А><A>показать/скрыть</A><DIV>Первые 4 строки месаджа2</DIV><DIV style="display:none">Месадж2 целиком</DIV>
А>...
А><A>показать/скрыть</A><DIV>Первые 4 строки месаджаN</DIV><DIV style="display:none">МесаджN целиком</DIV>

А>Как сделать чтобы тег A скрывал следующий за ним DIV и открывал DIV с полным месаджем. Генерить 2*N id-ишника выглядит, на мой взгляд, не инженерно. При повторном жмаке должен наблюдаться обратный эффект.



<input type=checkbox class="collapser"> показать/скрыть
<div>Первые 4 строки месаджа1</div>
<div>Месадж1 целиком</div>
<input type=checkbox class="collapser">
<div>Первые 4 строки месаджа2</div>
<div>Месадж2 целиком</div>


и стиль:

input.collapser:not(:checked) + div + div { display:none }
input.collapser:checked + div { display:none }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.