Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

voodoos

 
Название:

Динамічна зміна CSS класу визначеного в CSS файлі або в тілі HTML документа

Дата: 04 October 2005
Описание: Цей приклад демонструє динамічну зміну визначення CSS стилю за допомогою JavaScrіpt. Мало хто навіть здогадується про таку можливість. Дуже сумно, але вона цілком відсутня в такому оглядачі, як Opera. 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=166]Динамічна зміна CSS класу визначеного в CSS файлі або в тілі HTML документа[/CODEPOST]
Оценка: Проголосовало 21 посетителей, средняя оценка 2.67
Оценить:
  1 <html>
  2 <head>
  3 <title>Приклад</title>
  4 <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  5 <style type="text/css">
  6 A
  7 {
  8     color: green;
  9     font-size: 12px;
 10 }
 11 .empty
 12 {
 13     color: white;
 14 }
 15 .example
 16 {
 17     font-family: Tahoma, Verdana, Sans-Serif;
 18     font-size: 11px;
 19     color: blue;
 20 }
 21 .last-empty
 22 {
 23     color: black;
 24 }
 25 DIV.button
 26 {
 27     padding-top: 12px;
 28 }
 29 </style>
 30 <script type="text/javascript">
 31 <!--
 32 var rulesProperty;
 33 
 34 /// Функція, яка змiнюе стиль елементу
 35 function changeExampleStyle() {
 36     // змінюємо стиль класу "example"
 37     var rules = _getRulesBySelectorText(".example");
 38     
 39     if(rules != null) {
 40         rules.style.color = 'orange';
 41         rules.style.fontWeight = 'bold';
 42         rules.style.fontSize = '18px';
 43     }
 44         
 45     // I навіть змінимо паддінг у стиля для DІV у якому кнопка, 
 46     // що б кнопка не "стрибнула" через зміну розміру шрифту
 47     rules = _getRulesBySelectorText("DIV.button");
 48 
 49     if(rules != null)
 50         rules.style.paddingTop = '3px';
 51 }
 52 
 53 // Ця Функція шукає і повертає набір правил стилю по його визначенню 
 54 function _getRulesBySelectorText(searchSelectorText) {
 55     var i, j, length, rules;
 56     
 57     // Перевіряємо, чи обчислювалася вже "хитра" властивість об'єкта StyleSheet    
 58     if(rulesProperty == null)
 59         _calculateRulesProperty();
 60     
 61     for (i = 0; i < document.styleSheets.length; i++) {
 62         length = window.eval('document.styleSheets[' + i.toString() + '].' + rulesProperty + '.length');
 63         
 64         for (j = 0; j < length; j++) {
 65             rules = window.eval('document.styleSheets[' + i.toString() + '].' + rulesProperty + '[' + j.toString() + ']');
 66             
 67             if(rules.selectorText.toLowerCase() == searchSelectorText.toLowerCase())
 68                 return rules;
 69         }
 70     }
 71                 
 72     return null;
 73 }
 74 
 75 // Функція обчислює яка властивість об'єкта StyleSheet повертає 
 76 // набір правил у даному оглядаче
 77 function _calculateRulesProperty() {    
 78     if(document.styleSheets[0] != null)
 79         if(document.styleSheets[0].rules != null)
 80             rulesProperty = 'rules';
 81         else
 82             rulesProperty = 'cssRules';
 83 }
 84 //-->
 85 </script>
 86 </head>
 87 <body>
 88 <div class="example">Приклад</div>
 89 <div class="button"><button type="button" onclick="changeExampleStyle()">Змінити стиль</button></div>
 90 </body>
 91 </html>
Вернуться к списку исходников в категории Общие вопросы программирования на ASP.NET
 
Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта