на моём тестовом форуме работает
Цветовыделение
Сообщений 21 страница 22 из 22
Поделиться2230.09.10 16:09
Цветной статус
Плюсы:
+ Легок в редактировании (конструкция SWITCH-CASE более удобна в редактировании, чем куча вложенных IF)
+ Простое добавление/удаление статусов для выделения цветом
+ Можно выделить несколько статусов одним цветом
Минусы:
- Нужно полностью копировать текст статуса
- При изменении текста статуса, администратор должен внести изменения в код(в проверяемый текст статуса) (минус встречается у всех известных мне скриптов по замене цвета статуса)
Вставьте код в html-низ, либо в форму ответа, если не хотите, чтобы гости видели.
<script type="text/javascript"> <!-- /* Script upgraded by IllusionMH */ var authors=document.getElementsByTagName("ul") var feg=0; var stat; for (feg=0; feg<=(authors.length-1); feg++) { if (authors[feg].innerHTML.indexOf("pa-author")!=-1) { stat = authors[feg].getElementsByTagName("li")[1].innerHTML; switch (stat) { case "Статус1": authors[feg].getElementsByTagName("li")[1].innerHTML="<span style='color: #Цвет1;'>"+stat+"</span>"; break; case "Статус2": authors[feg].getElementsByTagName("li")[1].innerHTML="<span style='color: #Цвет2;'>"+stat+"</span>"; break; } } } // --> </script>
Замените слова Статус1... на статус пользователя, Цвет1... на необходимый цвет в формате #RRGGBB
Для увеличения числа выделяемых статусов скопируйте строки и измените параметры
case "Статус2": authors[feg].getElementsByTagName("li")[1].innerHTML="<span style='color: #Цвет2;'>"+stat+"</span>"; break;
Для выделения нескольких статусов одним цветом используйте конструкцию
case "Статус1": case "Статус11": case "Статус12": authors[feg].getElementsByTagName("li")[1].innerHTML="<span style='color: #Цвет1;'>"+stat+"</span>"; break;
В данном примере статусы Статус1, Статус11, Статус12 будут выделены цветом #Цвет1
Для удаления выделяемого статуса важно удалять все три обработчика!
Оригинальный скрипт был усовершенствован пользователем zloy.mh. Работа скрипта гарантирована им же.