Нужен плагин jQuery Lightbox, который поддерживает $.live() и группировку

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

В настоящее время пытаюсь использовать плагин Balupton Lightbox (не могу связать, потому что я новый пользователь), и после безрезультатных попыток всех примеров я попытался это сделать (тоже не работает):

$('a.lightbox-gallery').live('click', function(){
    $(this).lightbox();
});

Любая помощь высоко ценится!


person robotmay    schedule 25.05.2009    source источник
comment
Что вы пытаетесь сделать и что, кажется, не работает?   -  person tvanfosson    schedule 25.05.2009
comment
Я хочу добавить лайтбокс к любым изображениям, загруженным на страницу через Ajax. Таким образом, новые изображения загружаются на страницу, когда пользователь щелкает новую категорию, а когда щелкают изображения, должно открываться лайтбокс. Что касается работы, то нет. Вообще. Как бы я не пробовал. В настоящее время пытается использовать ColorBox (colorpowered.com/colorbox), но безуспешно. Я пробовал все примеры, а также пытался поместить их в живую функцию, но не повезло. Любые идеи?   -  person robotmay    schedule 26.05.2009
comment
На самом деле, я только что исправил это. Поигрался с ColorBox и все заработало. Я запускаю его в функции каждый раз, когда меняются изображения, что, похоже, не работает с предыдущим плагином лайтбокса, но работает с этим. Ура!   -  person robotmay    schedule 26.05.2009
comment
вы всегда можете привязать свой лайтбокс() к элементам, как только AJAX будет выполнен с его функцией обратного вызова.   -  person vsync    schedule 26.05.2009
comment
Это действительно то, что я в итоге сделал. Я использовал этот метод раньше, но меня отбросило, когда он не работал с предыдущим плагином лайтбокса!   -  person robotmay    schedule 26.05.2009


Ответы (3)


1) вы можете взломать плагин лайтбокса для привязки к живым событиям 2) вы можете вызывать лайтбокс после завершения ajax, только для новых элементов:

$.ajax({
    type: "POST",
    url: "url.php",
    cache: false,
    success: function(data){
        $(data).find('a[rel=lightbox]').lightbox(settings).end().appendTo('#ajaxTarget');
    }
}); 

Для settings вы можете использовать массив, чтобы не писать одно и то же дважды;)

person Ionuț Staicu    schedule 26.05.2009

Вы можете использовать цветную коробку и живую функцию jquery, подобную этой

$('a[rel=gallery]').live('click', function() {
  url = this.href; // this is the url of the element event is triggered from
  $.colorbox({href: url});
  return false;
});
person Rahul    schedule 07.04.2010
comment
Я думаю, что это не решение для группировки? - person mrzmyr; 09.09.2011

Вы также можете взглянуть на не такой уж плохой плагин livequery jquery ;) http://docs.jquery.com/Plugins/livequery вы можете встроить этот плагин в свой файл jquery и использовать его как простую функцию jquery:

$('.ajax-loaded-element').livequery('click',function(){

//do somenthing

});
person itsme    schedule 18.04.2012