2013-03-08 1 views
0

두 개의 jQuery 플러그인 easytabs 및 prettyPhoto를 사용하고 있습니다. easytabs 플러그인에 의해 ajax를 통해로드되는 이미지에 (1) 정적 페이지 및 (2) 이미지에 prettyPhoto 플러그인을 사용하고 싶습니다. 여기 정적 콘텐츠 및 ajax를 통해로드 된 콘텐츠에 대해 jQuery 플러그인 한 번 호출

(이 잘 작동하는지 알 수 있지만,보다 효율적으로이 일을 방법이 있는지 궁금 하군요) 내가 지금 잘하고 있어요입니다 : 내가로드 easytabs 내용을 생각

$(document).ready(function(){ 
    $("a[rel^='prettyPhoto']").prettyPhoto(); // Calling prettyPhoto for the first time (for images on the static page) 

    $('#portfolio-tabs').easytabs(); 
    $('#portfolio-tabs').bind('easytabs:ajax:complete', function() { 
     $("a[rel^='prettyPhoto']").prettyPhoto(); // Calling this again for it to work on images loaded via ajax 
    ) 
}); 
+0

에 아약스 콜백을 변경 portfolio-tabs에 렌더링된다? –

+0

성능 문제가있는 경우에만 앵커에 대한 선택기가 더 빠르면 좋을 것입니다. – kidwon

+0

사실, 나는 성능 문제를 발견하지 못했습니다. 플러그인을 두 번 인스턴스화하는 것이 잘못되었다고 느낍니다 ... 그래서 내 코드는 괜찮습니까? – transbetacism

답변

0

다음 성능 문제는 당신이 좀 더 효율적인 접근 방식을 필요로 직면하고 무엇

var tabs = $('#portfolio-tabs').bind('easytabs:ajax:complete', function() { 
    $("a[rel^='prettyPhoto']", tabs).prettyPhoto(); // Calling this again for it to work on images loaded via ajax 
) 
+0

easytabs ajax 요청이 완료된 후 prettyPhoto 플러그인을 인스턴스화하는 것입니다. 맞습니까? 아약스 요청이 트리거되기 전에 prettyPhoto가 필요하다는 것입니다. – transbetacism

+0

'$ ("[rel^= 'prettyPhoto']")를 유지해야합니다. prettyPhoto(); 'before'$ ('# portfolio-tabs'), easytabs(),'또한 –