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
Форумы портала PHP.SU :: Версия для печати :: Сокращение кода JavaScript
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Сокращение кода JavaScript

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

1. Mister - 22 Марта, 2007 - 21:48:23 - перейти к сообщению
У меня следующий вопрос, вот код:

<table cellpadding=1 width=100% border=1 cellspacing=1 bgcolor=#FCFFEB
<tr><td onmouseover='this.style.backgroundColor='#F2D3B1';' onmouseout='this.style.backgroundColor='#FCFFEB';'>Ссылка 1</a></td></tr>
<tr><td onmouseover='this.style.backgroundColor='#F2D3B1';' onmouseout='this.style.backgroundColor='#FCFFEB';'>Ссылка 2</a></td></tr>
и т.д. ряд подобных ссылок.
</table>
Из-за того что у меня таких ссылок много увеличился код страницы, а можно ли как-нибудь выделенный код убрать в отдельный файл или функцию? Может быть как-то можно его внедрить в CSS файл?
В общем коротко как можно убрать выделенный код с целью уменьшения размера?
2. valenok - 22 Марта, 2007 - 22:00:28 - перейти к сообщению
Eго можно просто сократить:

PHP:
скопировать код в буфер обмена
  1.  
  2. <table cellpadding='1' width='100%' border='1' cellspacing='1' bgcolor='#FCFFEB'>
  3.  
  4. <tr><td onmouseover='over(this);' onmouseout='out(this)'>Ссылка 1</a></td></tr>
  5.  
  6. <tr><td onmouseover='over(this);' onmouseout='out(this)'>Ссылка 2</a></td></tr>
  7.  
  8. ...
  9.  
  10. </table>
  11.  
  12. < script Language='JavaScript'>
  13. function over(that){ that.style.backgroundColor='#F2D3B1';}
  14. function out(that) {that.style.backgroundColor='#FCFFEB';}
  15. </Script>
  16.  
3. Mister - 23 Марта, 2007 - 05:47:58 - перейти к сообщению
Спасибо за ответ. Это сокращает код, сам я не очень хорошо разбираюсь в javascript, но мне почему то кажется что можно ещё сделать меньше. Через CSS пробовал, не получилось. А можно ли это всё сделать как-нибудь ещё поменьше, например полностью что выделено в отдельный файл вынести, а осталась только одна ссылка на этот класс или функцию?
4. valenok - 23 Марта, 2007 - 07:19:43 - перейти к сообщению
CSS -> Cascadins Style Sheets

И никакого программного кода туда не вписать.
Можно ещё полностью убрать всю таблицу и генерировать таблицу на компьютере пользователя при помощи JS циклом и document.write'ом.

А просто применить код для всех <tr>, не прописав внутри никакого кода, помоему не возможно. Нигде не видел и никогда не сталкивался.

5. -SCHATTEN- - 24 Марта, 2007 - 19:37:50 - перейти к сообщению
Возьми любой учебник по CSS там все это есть...
6. kamikadze - 24 Марта, 2007 - 21:23:31 - перейти к сообщению
Дак псевдо класами пропиши в стиле!!!
7. Mister - 24 Марта, 2007 - 23:50:47 - перейти к сообщению
Спасибо за ответы, буду искать ещё варианты.
8. kamikadze - 25 Марта, 2007 - 08:11:21 - перейти к сообщению
Просто в файле стиля сделать таких елементов

PHP:
скопировать код в буфер обмена
  1.  
  2. a:hover{}
  3. a:active{}
  4. a:link{}
  5. a:visited{}
  6.  


это псевды и есть!!!
9. valenok - 25 Марта, 2007 - 08:27:52 - перейти к сообщению
Меняется цвет ссылки а не ячейки в таблице..
10. kamikadze - 25 Марта, 2007 - 08:36:54 - перейти к сообщению
Тоесть, дак можно же для етого сделать ссылку блоком и потом менять фон её!!!\n\n(Добавление)
Или можно и не делать контейнером!
11. -SCHATTEN- - 25 Марта, 2007 - 09:09:51 - перейти к сообщению
Ты извени мне просто лень все из книги переписовать и обьяснять...
Вот тебе книжка по CSS там есть как к определенному тегу привязать стиль...
12. valenok - 25 Марта, 2007 - 11:29:24 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <Style>
  3.  
  4. td {
  5.   // Что тут писать для того чтобы
  6.  // При наведении на эту ячейку менялся её цвет?
  7. // CSS не умеет реагировать на события браузера как наведение мыши.
  8.  
  9. backround-color: #A2A2AA;
  10. }
  11.  
  12. </Style>
  13.  
  14. <tabel>
  15.   <tr>
  16.     <td>ЭТО</td>
  17.     <td>И ЭТО</td>
  18.   </tr>
  19. </table>
  20.  
  21.  
13. evgenijj - 25 Марта, 2007 - 14:14:39 - перейти к сообщению
http://www[dot]tigir[dot]com/highlight_table_rows[dot]htm
14. valenok - 25 Марта, 2007 - 18:15:41 - перейти к сообщению
Спасибо.
Полезной оказалась статья.
15. Viper - 27 Марта, 2007 - 11:05:25 - перейти к сообщению
valenok пишет:
Код php:
<Style>

td {
// Что тут писать для того чтобы
// При наведении на эту ячейку менялся её цвет?
// CSS не умеет реагировать на события браузера как наведение мыши.

backround-color: #A2A2AA;
}

</Style>

<tabel>
<tr>
<td>ЭТО</td>
<td>И ЭТО</td>
</tr>
</table>


onMouseOver="this.style.border='1px solid #000000';" onMouseOut="this.style.border='1px solid #ebebeb';"

в помощи по CSS можно посмотреть объектную модель. там все это написано

 

Powered by ExBB FM 1.0 RC1