[ОТВЕТИТЬ]
16.10.2013 14:27
OlegON
 
Прошу посмотреть свежим взглядом. Суть - справа внизу каждого сообщения есть кнопка мультицитирования. Раньше отображалась картинкой, которая в зависимости от нажатого/ненажатого состояния меняла цвет.
Код:
<a href="$post[replylink]" rel="nofollow" onclick="return false"><img src="$stylevar[imgdir_button]/multiquote_<if condition="$show['multiquote_selected']">on<else />off</if>.gif" alt="$vbphrase[multi_quote_this_message]" border="0" id="mq_$post[postid]" /></a>
меняю на
Код:
<a class="button-link" href="$post[replylink]" rel="nofollow" onclick="return false" title="$vbphrase[multi_quote_this_message]" id="mq_$post[postid]"><if condition="$show['multiquote_selected']"><font color="magenta"><else /><font></if>["]</font></a>
и не работает :(
16.10.2013 14:33
OlegON
 
Собственно,
Код:
<a class="button-link" href="$post[replylink]" rel="nofollow" title="$vbphrase[multi_quote_this_message]" id="mq_$post[postid]" onclick="return false"><font <if condition="$show['multiquote_selected']">color="magenta"<else />color="#22229C"</if>>["]</font></a>
тоже не работает.
16.10.2013 16:03
twix
 
А W3C валидатор не ругается на наличие <font> в <a>? Не кошерно как-то.

По уму, надо бы оставить внутри тега <a> только текст, а цвета менять через CSS. (:hover в помощь)
16.10.2013 16:24
OlegON
 
Это фик бы с ним, дело не в hover, если помнишь, кнопка мультицитирования меняла цвет на оранжевый при клике и запоминалось это дело...
16.10.2013 16:44
twix
 
Цитата:
OlegON Это фик бы с ним, дело не в hover, если помнишь, кнопка мультицитирования меняла цвет на оранжевый при клике и запоминалось это дело...
Оу, точно. Тогда :hover тут не поможет. Если условия отрабатывают как положено, то можно попробовать это:

Код:
<a href="$post[replylink]" rel="nofollow" onclick="return false" style="color:<if condition="$show['multiquote_selected']">#fd4400<else />#22229C</if>;">Мультицитирование</a>
16.10.2013 17:09
OlegON
 
Увы... Посмотри, плз, в первом коде id="mq_$post[postid]" у картинки, а в моем он, получается, в <a>. Имеет ли это значение?
16.10.2013 17:27
twix
 
Цитата:
OlegON Увы... Посмотри, плз, в первом коде id="mq_$post[postid]" у картинки, а в моем он, получается, в <a>. Имеет ли это значение?
Есть подозрение, что js какой-то кушает эти айдишники, и подвешивает обработчики на нужные элементы. Вероятно, он ищет именно картинки с нужным айди/атрибутом. В этом случае, конечно, другие элементы будут проигнорированы.
16.10.2013 17:32
OlegON
 
Что-то можно с этим сделать?
16.10.2013 17:53
twix
 
Цитата:
OlegON Что-то можно с этим сделать?
Копать исходники, искать место, в котором из DOM выбираются элементы, и разбирать его. Я со своей стороны посмотреть не могу, ибо вижу только обфусцированный код. ):
16.10.2013 20:55
twix
 
Цитата:
Он, опять-таки, обфусцированный, но можно понять, что при смене "статуса" мультицитирования сообщения оно лезет в атрибут src, которого, естественно, у <a> нет. Можно попробовать заменить

Код:
function change_mq_image(C,B){var A=fetch_object("mq_"+C);if(A){if(B==true){A.src=A.src.replace(/\/multiquote_off\.([a-zA-Z0-9]+)$/,"/multiquote_on.$1")}else{A.src=A.src.replace(/\/multiquote_on\.([a-zA-Z0-9]+)$/,"/multiquote_off.$1")}}}mq_init(fetch_object("posts"));
на

Код:
function change_mq_image(C,B){var A=fetch_object("mq_"+C);if(A){if(B==true){A.style.color='#fd4400'}else{A.style.color='#22229C'}}}mq_init(fetch_object("posts"));
в конце. Вроде, простая замена изменения атрибута src на изменение атрибута style, но, вдруг, какие баги выползут. (%
16.10.2013 21:32
OlegON
 
Что-то не заработало :( Помимо того, что она должна подкрашиваться, она должна ставить куку. Мне кажется, что куку она не ставит :( По крайней мере нажатие не только не подсвечивает, но и не вносит квотинг в сообщение потом.
16.10.2013 21:48
twix
 
Цитата:
OlegON Что-то не заработало :( Помимо того, что она должна подкрашиваться, она должна ставить куку. Мне кажется, что куку она не ставит :( По крайней мере нажатие не только не подсвечивает, но и не вносит квотинг в сообщение потом.
Я пропустил в начале поиск элементов:

Код:
var A=fetch_tags(D,"img");
вероятно, нам нужно подставить там

Код:
var A=fetch_tags(D,"a");
Я, правда, не знаю, где ещё используется этот скрипт, и что-то может "отвалиться".
16.10.2013 21:54
OlegON
 
Ура... Заработало :)
Опции темы


Часовой пояс GMT +3, время: 00:08.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.