2010-03-03 3 views
2

PrettyPhoto를 livequery와 함께 사용하는 방법을 설명 할 수있는 사람이 있습니까?PrettyPhoto가 livequery와 작동하지 않습니다.

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

코드는 잘하지만 나는 livequery이 PrettyPhoto를 지원하지 않습니다 생각합니다. 누군가 확인할 수 있습니까?

+0

시도하면 어떻게됩니까? – SLaks

답변

6

jQuery에 대해 이야기하고 있습니까? 그렇다면, 나는 일이 왔 :

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

을 그리고 당신은 어떤 테마 또는 무언가에 넣어하려는 경우 당신은 할 수 있습니다 : 무슨 일하는 prrettyPhoto 각각에 대해 하나 개의 갤러리를 인스턴스화이다

$.fn.prettyPhoto({'theme': 'light_rounded'}); 
$("a[rel=prettyPhoto]").live("click",function() { 
    $.prettyPhoto.open($(this).attr("href"),"",""); 
    return false; 
}); 
+2

좋은데, prettyPhoto를 인스턴스화하는 것을 기억하십시오. 먼저 $ ("a [rel^= 'prettyPhoto']"). prettyPhoto(); –

+0

감사합니다. david (추가 데이터 @EricHerlitz에 대한 감사). 나를 위해 위대한 작품. –

+0

그냥 현대 jQuery와 함께 .live()는 더 이상 작동하지 않으므로 .on()과 비슷한 것을해야한다는 것을 기억하십시오. – David

0

사진에 rel 속성의 정규식을 사용하여 세트를 작성하는 것보다 당신이해야 할 일은 에서 초기화를 다시 실행하는 것입니다. DOM에 새로운 것을 얻을 때마다a[rel^='prettyPhoto']을 초기화하십시오. 이것은 prettyPhoto가 글로벌 matchedObjects var로 설정되는 방식 때문입니다.

1
$.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'); 
});