Главная » Файлы » Статьи для вебмастера » Статьи для вебмастера |
Самый простой способ модификации опций ajax окон ответа на комментарии by Apocalypse для uCoz
24.06.14, 18:50:45 | |
Здравствуйте, уважаемые пользователи проекта apo-ucoz.com! Простые решения непростых проблем - это всегда хорошо, вот и сегодня мне захотелось решить проблему с ответами на комментарии, которая меня откровенно достала. Дело в том, что стандартные опции окон ответов на комментарии зачастую вызывают глюки с открытием формы в них и это приводит к появлению полос прокрутки: Судя по всему, такая проблема существует из-за того, что не все элементы формы успевают подгружаться, когда окно уже определилось с размером, так как по-умолчанию стоит опция autosize:1 По-умолчанию гет запрос выполняется на страницу /index/58-id_комментария, НО uCoz не дали нам оператор $ID$ в виде материалов комментариев и потому нам придётся использовать костыль. Я решил применить костыль, меняющий опции и размеры открываемого окна при наведении на кнопку "Ответить", чтобы он срабатывал ДО клика. Так как в моём шаблоне комментарии часто вызываются ajax запросом с разных страниц, мне было проще всего напрямую в html коде прописать атрибут onmouseover, чтобы не заморачиваться. Итак, мы просто заменим в шаблоне вида материала Код <a href="$ANSWER_URL$">Ответить</a> Код <a href="$ANSWER_URL$" onmouseover="$(this).attr('onclick', $(this).attr('onclick').replace('resize:0', 'resize:1,autosize:0,fixed:0,fadetype:2,fadeclosetype:2,hideonmove:0').replace('-550', '700').replace('-100', '350'))">Ответить</a> Как вы можете увидеть из участка .replace('-550', '700').replace('-100', '350')) - я заменил начальные ширину и высоту окна на те, которые мне нужны сразу, так как отключу автоматическое вычисление размеров Из участка .replace('resize:0', 'resize:1,autosize:0,fixed:0,fadetype:2,fadeclosetype:2,hideonmove:0') видно, что я разрешил изменять размеры окна, отключил автоматическое вычисление размеров окна, сделал окно статичным, чтобы оно оставалось на месте при прокрутке страницы, изменил тип анимации при открытии и закрытии, а также разрешил отображение контента при перемещении окна. Вы можете менять любые опции. Полный перечень найдёте в ЭТОЙ СТАТЬЕ НА ХЕЛПЕРЕ Кто-то скажет, что этот способ имеет ряд минусов и можно было методом split вытащить ссылку из onclick атрибута, на что я отвечу - ну нафиг! Для того, чтобы заменить пару опций у окна - усложнять код нет никакого смысла. Вот если бы форму ответа нужно было бы под комментарием, на который отвечаем, вытягивать - другое дело, я бы split использовал, а так, как мне кажется, способ, который я предоставил в этом материале, самый простой и понятный С вами был Apocalypse, жду ваши отзывы и, если у вас есть ещё более простые решения - с радостью посмотрю на них Материал подготовлен Apocalypse | |
Просмотров: 564 | Загрузок: 0 | |
Всего комментариев: 0 | |
| |