PrettyPhoto не работает с livequery - PullRequest
2 голосов
/ 03 марта 2010

Может кто-нибудь объяснить, как использовать PrettyPhoto с livequery?

  $(document).ready(function()
  {
    $(".gallery a[rel^='prettyPhoto']").livequery(
    function()
    {
      $(this).prettyPhoto({theme:'facebook'});
    });
  });

Код правильный, но я думаю, что livequery не поддерживает PrettyPhoto. Кто-нибудь может подтвердить?

Ответы [ 3 ]

6 голосов
/ 04 февраля 2011

Вы говорите о jQuery? Если это так, я получил это на работу:

$("a[rel=prettyPhoto]").live("click",function() {
    $.prettyPhoto.open($(this).attr("href"),"","");
    return false;
});

А если вы хотите добавить какую-нибудь тему или сделать что-то еще:

$.fn.prettyPhoto({'theme': 'light_rounded'});
$("a[rel=prettyPhoto]").live("click",function() {
    $.prettyPhoto.open($(this).attr("href"),"","");
    return false;
});
1 голос
/ 13 декабря 2011
$.fn.prettyPhoto({
    animation_speed: 'fast', /* fast/slow/normal */
    slideshow: 5000, /* false OR interval time in ms */
    theme: 'facebook' /* light_rounded / dark_rounded / light_square / dark_square / facebook /pp_default*/
});

$.prettyPhoto.open('xzs.html?iframe=true&width=100%&height=100%','Title','DESC');

User
<a style="color: #F99;text-decoration:inherit;" href="javascript:;" rel="prettyPhoto[iframes]" name="xzs.html?iframe=true&width=100%&height=100%" title="test">test</a>

$("a[rel^='prettyPhoto']").livequery(function(){
    var url = $(this).attr(name);
    $.prettyPhoto.open(url,'Title','DESC');
});
0 голосов
/ 11 октября 2011

Что происходит, так это то, что prrettyPhoto создает одну галерею для каждой фотографии, а не создает наборы, используя регулярное выражение для атрибута rel. Что вам нужно сделать, это перезапустить инициализацию на all a[rel^='prettyPhoto'] всякий раз, когда вы получаете новые в вашей DOM. Это связано с тем, что prettyPhoto настроен с глобальным matchedObjects var.

...