Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: что-то на подобии аккордеона

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
alexiy
Отправлено: 03 Февраля, 2012 - 22:13:45
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




CODE (html):
скопировать код в буфер обмена
  1.  
  2. <h2>
  3.  <p>1</p>
  4. </h2>
  5. <h2>
  6.  <p>1</p>
  7. </h2>
  8. <h2>
  9.  <p>1</p>
  10. </h2>
  11. <h2>
  12.  <p>1</p>
  13. </h2>
  14. <h2>
  15.  <p>1</p>
  16. </h2>
  17.  

как сделать так, что бы при загрузке страницы, теги "p" не были бы видны, а при нажатии на тэг H2 открывался соответствующий ему тег "P"
 
 Top
IllusionMH
Отправлено: 03 Февраля, 2012 - 22:29:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




alexiy, а остальные скрывались или просто открывался-закрывался еще один?
 
 Top
alexiy
Отправлено: 03 Февраля, 2012 - 22:31:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




там надо так, нажал на конкретный h2 и открылся его тег "p" с остальными ничег не происходит
 
 Top
Саныч
Отправлено: 03 Февраля, 2012 - 23:05:59
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <style>
  2. h2 > p {display: none}
  3. </style>

CODE (javascript):
скопировать код в буфер обмена
  1. window.onload = function() {
  2.         var els = document.getElementsByTagName('H2');
  3.         for (var i in els)
  4.                 els[i].onclick = function() {
  5.                         this.getElementsByTagName('P')[0].style.display = 'block';
  6.                 }
  7. }


На jQuery поменьше кода будет
CODE (javascript):
скопировать код в буфер обмена
  1. $(function() {
  2.         $("h2").click(function() {
  3.                 $(this).children("p").show();
  4.         });
  5. });


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
IllusionMH
Отправлено: 03 Февраля, 2012 - 23:41:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Вообще-то элемент p нельзя помещать в заголовок h2

Вот мой вариант решения
Спойлер (Отобразить)

Спойлер (Отобразить)
На jQuery естественно короче)


Еще круче можно сделать через чекбокс. Если интересно - напишу.
А вообще - ждем появления элемента details во всех браузерах

(Отредактировано автором: 03 Февраля, 2012 - 23:50:57)

 
 Top
alexiy
Отправлено: 04 Февраля, 2012 - 00:31:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


Помог: 6 раз(а)




IllusionMH пишет:
Вообще-то элемент p нельзя помещать в заголовок h2

Вот мой вариант решения
Спойлер (Отобразить)

Спойлер (Отобразить)
На jQuery естественно короче)


Еще круче можно сделать через чекбокс. Если интересно - напишу.
А вообще - ждем появления элемента details во всех браузерах

Конечно же интересно Улыбка
 
 Top
IllusionMH
Отправлено: 04 Февраля, 2012 - 01:07:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <label for="chk1">1</label><input type="checkbox" id="chk1" />
  2. <p>11</p>
  3. <label for="chk2">2</label><br />
  4. <input type="checkbox" id="chk2" />
  5. <p>22</p>
  6. <label for="chk3">3</label><br />
  7. <input type="checkbox" id="chk3" />
  8. <p>33</p>
  9. <label for="chk4">4</label><br />
  10. <input type="checkbox" id="chk4" />
  11. <p>44</p>

CODE (CSS):
скопировать код в буфер обмена
  1. input[type="checkbox"] {
  2.     position: absolute;
  3.     /*display: none; почему-то срабатывает не везде*/
  4.     left: -100%; /*первый пришедший в голову вариант*/
  5.     /*clip: rect(0px, 0px, 0px, 0px); вариант использующийся на dabblet.com*/
  6. }
  7. input[type="checkbox"] + p {
  8.     display: none;
  9. }
  10. input[type="checkbox"]:checked + p {
  11.     display: block;
  12. }


Подсмотрел где-то на этом сайте
Stuff you can do with the “Checkbox Hack” by: Chris Coyier
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB