Плагин jQuery Lightbox, влияющий на ВСЕ <a>теги - PullRequest
0 голосов
/ 22 ноября 2010

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

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

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 22 ноября 2010

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

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

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

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

<a class="lightbox">

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

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

или даже это:

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

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

0 голосов
/ 22 ноября 2010
$(function() {
        $('#gallery a:has(img)').lightBox();
});

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

0 голосов
/ 22 ноября 2010

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

$(".SomeClassYouWantToApplyJQueryTo").[SomeJQueryFunctionCall]

...