Выпуск jQuery Thickbox - PullRequest
       20

Выпуск jQuery Thickbox

0 голосов
/ 23 марта 2009

Я новичок в jQuery. Я создаю интернет-магазин и использую плагин jQuery «Thickbox» (http://jquery.com/demo/thickbox).. В интернет-магазине настроено отображение «Увеличенного изображения», которое запускает JS-скрипт Thickbox и показывает изображение.

Проблема возникает, когда данные размещаются на странице через систему CMS (я полагаю, с помощью Ajax?). При выборе другого продукта в раскрывающемся списке «Выбор типа» новые данные из системы CMS помещаются на страницу, и сценарий Thickbox не применяется, поскольку он не может видеть новые данные.

Я играл с исправлением, которое нашел (http://www.codynolden.com/blog/2009/01/thickbox-and-ajax-using-livequery), но я не могу применить его к моему сайту?

Живой пример моего сайта: http://madisonlane.businesscatalyst.com/_product_36331/AAA-_Autumn_Dress

Есть идеи?

Ответы [ 4 ]

2 голосов
/ 03 апреля 2009

в Thickbox.js:

$(domChunk).click(function(){

было заменено следующим:

$(domChunk).live(click, function(){
1 голос
/ 23 апреля 2011

Стюарт понял все правильно: большое спасибо!

Я застрял с аналогичной проблемой: в моем случае цель добавленной ссылки (с помощью метода jQuery .append()) не была загружена в толстый ящик.

Мой код jQuery был выполнен в функции document.ready():

$("#subpages").append('','<a href="..." class="thickbox" [...]');

Просто добавив:

tb_init('.thickbox'); //required to reinitialize thickbox as DOM was manipulated

сразу после того, как последняя строка исправила проблему.

0 голосов
/ 23 марта 2009

Возможно, я не правильно читаю ваш вопрос, но, судя по его звучанию, контент уничтожается и создается с новым выбором элементов, так?

Если это так, вам нужно будет вызвать tb_init ('. Some-selector') при загрузке нового контента. Я вспоминаю, что нужно было сделать это для условной настройки толстой коробки один раз. Thickbox работает, просматривая вашу страницу и связывая события кликов, чтобы связать их с классом «Thickbox». Используя tb_init (), вы можете в любое время подключить свои материалы к любому селектору, который вам нравится. Проверьте исходный код для Thickbox, чтобы понять, что я имею в виду.

0 голосов
/ 23 марта 2009

Используете ли вы IFRAMED Thickbox? Возможно, вам повезет больше, так как по умолчанию Thickbox просто отображается в DIV. Вам нужно добавить & TB_iframe = true к строке запроса вашего URL, чтобы получить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...