Связать функцию JQuery Lightbox () с HTML-элементами ссылок в Datalist - PullRequest
0 голосов
/ 05 декабря 2010

Я реализую этот плагин JQuery Lightbox внутри DataList:

Я протестировал этот код на работу, если ссылка находится вне DataList:

$('a[@rel*=lightbox]').lightBox();

Но, похоже, он не берет ссылки внутри DataList, который имеет "rel = lightbox".

Итак, я пошел на Digigng и попытался извлечь некоторые уроки отсюда:

Придумал это, но, похоже, не работает:

            $('a.imageActivator').live("click", function() {
                jQuery.lightBox();
            });

Что пошло не так?

Ответы [ 2 ]

0 голосов
/ 05 декабря 2010

Я пробовал JQuery Lightbox и JQuery Fancybox.

JQuery Lightbox (как указано выше), похоже, представляет проблему, из-за которой lightBox () не может быть привязан / связан с событием Click.

JQuery Fancybox представил проблему необходимости дважды щелкнуть, чтобы активировать изображение. И это также не показывает 2-е изображение (но показывает то же 1-е изображение снова).

В итоге я пошел против нормы и использовал Lightbox2 вместо :

Проблема в том, что $ конфликтует с $ JQuery, который объявлен глобально. Итак, вот мой совет по поводу этого после некоторых исследований.

Последовательность сценариев следующим образом:

<script type="text/javascript" src="/scripts/prototype.js"></script>
<script type="text/javascript" src="/scripts/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="/scripts/lightbox.js"></script>

<script type="text/javascript" src="/scripts/jquery-1.4.2.js"></script> 

JQuery-скрипт должен иметь "jQuery.noConflict ();" как первая строка. Любой знак $ JQuery, используемый на странице, должен быть изменен на «jQuery». Например:

    <script type="text/javascript">
        jQuery.noConflict();

        jQuery(function() {
            jQuery('a.activator').live("click", function() {
                jQuery('#enquireOverlay').fadeIn('fast', function() {
                    jQuery('#box').animate({ 'top': '160px' }, 500);
                });
            });

            jQuery('#boxclose').click(function() {
                jQuery('#box').animate({ 'top': '-200px' }, 500, function() {
                    jQuery('#enquireOverlay').fadeOut('fast');
                });
            });
        });
    </script>   

Это было то, что позволило мне использовать Lighbox, который работает вместе со скриптами jQuery.

0 голосов
/ 05 декабря 2010

Я думаю, вам нужно включить return false; в вашу функцию щелчка.

...