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

HTML+CSS+JavaScript

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

 

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

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

тема: скрыть ячейки
 
 автор: admiral   (08.01.2010 в 04:08)   письмо автору
 
 

возможно ли, например, при нажатии на флажок, строи таблицы с классом <tr class="hidden"></tr>
скрывались?

  Ответить  
 
 автор: АЯ   (08.01.2010 в 05:25)   письмо автору
 
   для: admiral   (08.01.2010 в 04:08)
 

Возможно. В двух вариантах.
Принцип таков:
<input type="checkbox" onclick="for (var j = 0, q = document.getElementById ('mT').rows, l = q.length; j < l; j++) if (q [j].className == 'hidden') q [j].style.visibility = (this.checked) ? 'hidden' : 'visible'">Скрыть содержимое строк<br>
<input type="checkbox" onclick="for (var j = 0, q = document.getElementById ('mT').rows, l = q.length; j < l; j++) if (q [j].className == 'hidden') q [j].style.display    = (this.checked) ? 'none'   : 'block'  ">Скрыть строки полностью

<table cellpadding="10" border="1" id="mT">
<tr               ><td>11</td><td>12</td><td>13</td></tr>
<tr class="hidden"><td>21</td><td>22</td><td>23</td></tr>
<tr               ><td>31</td><td>32</td><td>33</td></tr>
<tr               ><td>41</td><td>42</td><td>43</td></tr>
<tr class="hidden"><td>51</td><td>52</td><td>53</td></tr>
<tr               ><td>61</td><td>62</td><td>63</td></tr>
</table>
Второй вариант (с display) во многих браузерах "ломает" геометрию таблицы при возврате к display: block.
Проблема решается скриптовым прописыванием свойства style.width ячейкам таблицы.
Реализация проста, но громоздка в записи.
Не зная того - какой из вариантов вас устроит - писать эту реализацию не стал.

  Ответить  
 
 автор: sl1p   (08.01.2010 в 09:25)   письмо автору
 
   для: АЯ   (08.01.2010 в 05:25)
 

можно потом просто делать не display:block а
el.style.display = '';

  Ответить  
 
 автор: АЯ   (08.01.2010 в 14:23)   письмо автору
 
   для: sl1p   (08.01.2010 в 09:25)
 

Да, действительно, "обнуление" свойства display решает проблему.
Соответственно, можно в скрипте и оставить значение 'block', но тогда надо прописать
<style>
tr {display: block}
</style>

  Ответить  
 
 автор: admiral   (08.01.2010 в 15:45)   письмо автору
 
   для: АЯ   (08.01.2010 в 14:23)
 

Спасибо всем! Еще такой вопрос. Собственно имеет ли значение называть class=hidden или id=hidden. Как лучше?

  Ответить  
 
 автор: sim5   (08.01.2010 в 16:03)   письмо автору
 
   для: admiral   (08.01.2010 в 15:45)
 

А вы исходите из принципа как "красивше" при указании стилей? Для чего служат атрибуты ID и CLASS?

  Ответить  
 
 автор: admiral   (08.01.2010 в 16:58)   письмо автору
 
   для: sim5   (08.01.2010 в 16:03)
 

как правильнее

  Ответить  
 
 автор: sim5   (08.01.2010 в 17:00)   письмо автору
 
   для: admiral   (08.01.2010 в 16:58)
 

Ответьте себе на мой второй вопрос, и ваш впрос "как правильнее" отпадет. Не может быть "как правильнее", может быть только "как выгоднее, логичнее" согласно решаемой задаче.

  Ответить  
 
 автор: admiral   (08.01.2010 в 16:03)   письмо автору
 
   для: АЯ   (08.01.2010 в 14:23)
 

<style> 
#mT tr {display: block} 
</style>


А так правильно будет?

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

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