Плагин jQuery Lightbox, влияющий на ВСЕ теги ‹a›

Я добавил скрипт jQuery для лайтбокса, и все работает оооочень КРАСИВО, пока я не понял, что этот скрипт добавляет скрипт лайтбокса ко ВСЕМ тегам на моем сайте. Это большая проблема, если я хочу, чтобы кнопки, изображения, заголовки, логотипы и т. д. ссылались на HTML-страницу в документе :(

Можно ли что-то изменить в коде jQuery, что позволило бы мне добавлять класс или идентификатор к изображениям только к тем изображениям, к которым я хочу применить лайтбокс, а не к каждому тегу, включающему мою навигацию?

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

Вот сайт, над которым я сейчас работаю: http://www.isabelleroux.co.za/newsite/ Код jQuery можно найти в исходниках....

Единственный способ получить кнопку для ссылки без лайтбокса - это использовать: onclick="MM_goToURL('parent','page.html');return document.MM_returnValue", но это также имеет свои ограничения, и я бы предпочел НЕ используйте это больше ....

Я в отчаянии, пожалуйста! Спасибо :)


person Community    schedule 22.11.2010    source источник


Ответы (3)


Действительно, у вас есть это в вашем сценарии:

$('#gallery a').lightBox();

Он будет включать лайтбокс для всех элементов, соответствующих селектору. То есть все элементы <a>, находящиеся внутри некоторого элемента с id="gallery".

Один из способов исправить это — дать только элементам <a>, для которых вы хотите включить лайтбокс для более конкретного имени класса, например так:

<a class="lightbox">

Затем вы можете использовать следующий селектор:

$('#gallery a.lightbox').lightBox();

или даже это:

$('a.lightbox').lightBox();

Смотрите также:

person BalusC    schedule 22.11.2010

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

$(".SomeClassYouWantToApplyJQueryTo").[SomeJQueryFunctionCall]

person Achilles    schedule 22.11.2010

$(function() {
        $('#gallery a:has(img)').lightBox();
});

устранил бы проблему. Это гарантирует, что a содержит изображение. Но я бы подумал об использовании класса, чтобы избежать дальнейших проблем.

person meo    schedule 22.11.2010