Critical Error 155 Опубликовано: 20 ноября 2011 Рассказать Опубликовано: 20 ноября 2011 Есть код js var usa = [ 'Нью Йорк', 'Лос Анджелес', 'Вашингтон' ]; if( $( '.box header' ).text(usa) ) { $( '.box' ).addClass( 'box-usa' ); } var russia = [ 'Москва', 'Санкт Петербург', 'Владивосток' ]; if( $( '.box header' ).text(russia) ) { $( '.box' ).addClass( 'box-russia' ); } и код шаблона (динамически выводится) <div class="box"> <header><h5>{city}</h5></header> {info} </div> Суть проблемы в том, что когда генерится контент, DIV'у с классом box добавляются оба класса - box-usa и box-russia Как правильно записать условие? Всю ночь химичу и не выходит. И почитать нигде не нахожу об этом. Цитата Ссылка на сообщение Поделиться на других сайтах
Critical Error 155 Опубликовано: 21 ноября 2011 Рассказать Опубликовано: 21 ноября 2011 Автор Помогли на другом форуме. Вот решение. var usa = [ 'Нью Йорк', 'Лос Анджелес', 'Вашингтон' ]; if(inString(usa)) { $( '.box' ).addClass( 'box-usa' ); } var russia = [ 'Москва', 'Санкт Петербург', 'Владивосток' ]; if(inString(russia)){ $( '.box' ).addClass( 'box-russia' ); } А теперь определим inString : function inString(ar){ var s = $( '.box header' ).text(); if (jQuery.inArray(s,ar)>-1) { return true; } } Все это делал для разного дизайна выводимой информации и ошибок у DLE. То есть чтобы например блок с информацией выводился синим, а с ошибками - красным. Конечный результат: info.tpl <div class="box"> <header><h5>{title}</h5></header> {error} </div> style.css .box { border: 1px solid #d2d2d4; border-bottom-color: #a2a2a4; -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; background: #fdfdff; -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,1.0); -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,1.0); box-shadow: 0 1px 3px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,1.0); padding: 10px 10px 10px 40px; } .box-info { border-color: #a1c0d0; border-bottom-color: #79a0b4; background: #ebf5fa url("../dleimages/box_info.png") 0 0 no-repeat; color: #1d5e80; } .box-warning { border-color: #edb1a2; border-bottom-color: #d18c7b; background: #fff0eb url("../dleimages/box_warning.png") 0 0 no-repeat; color: #963e27; } подключаемый код скрипта: function inString(ar){ var s = $( '.box header' ).text(); if (jQuery.inArray(s,ar)>-1) { return true; } } var warning = [ 'Ошибка регистрации', 'Ошибка авторизации', 'Внимание, обнаружена ошибка' ]; var info = [ 'Информация', 'Уведомление отправлено', 'Регистрация успешно завершена' ]; if(inString(warning)) { $( '.box' ).addClass( 'box-warning' ); } if(inString(info)){ $( '.box' ).addClass( 'box-info' ); } Для массивов warning и info пока еще не все варианты титлов нашел, но если появится новый обновлю и сообщу, кому интересно Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.