Удалить поведение лайтбокса из ссылки

У меня есть страница галереи изображений, где каждое изображение может быть «помечено» несколькими тегами. Каждая кнопка тега отображается на панели вкладок. По умолчанию отображаются все изображения, но при нажатии кнопки с одним тегом отображаются только изображения, отмеченные этим тегом.

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

$(document).ready
(
    function()
    {
        // this works ok
        $('#gallery div a').lightBox();
    }
);

Все работает отлично, пока я не фильтрую изображения. По умолчанию все изображения доступны в лайтбоксе (и я бы хотел, чтобы в лайтбоксе были только отфильтрованные изображения).

Я даже пытался сделать это в событии фильтра:

$('#gallery div.' + tag + ' a').lightBox();

Где «тег» — это строка, содержащая только активный тег, по которому фильтруются изображения в галерее. Это работает довольно сомнительно, потому что лайтбокс правильно отображает только отфильтрованные изображения, но ведет себя странно:

  • при изменении размера окна для следующего изображения анимация немного испорчена
  • счетчик изображений отображает первый результат состояния (например, 7 из 25), а затем отфильтрованный (например, 7 из 9)

Мои актуальные вопросы:

  • Есть ли способ удалить поведение лайтбокса после того, как оно было установлено для ссылки?
  • Есть ли альтернатива лайтбоксу, просто чтобы его можно было легко "отключить"?

person Miljenko Barbir    schedule 19.06.2012    source источник


Ответы (1)


Это отключит поведение LightBox (поскольку это не что иное, как обработчик события клика):

$('#gallery div a').unbind('click');

Затем следующее работает как шарм:

$('#gallery div.' + tag + ' a').lightBox();
person Miljenko Barbir    schedule 20.06.2012