2011-09-26 6 views
0

아약스 호출 후 클릭하면 나타나는 fancybox 창이 나타납니다. 나는 a.aboutContentImage 그 아약스 호출이 끝날 때까지 페이지에 존재하지 않는 점에 유의해야한다FancyBox, 창문에서 발사하는 아약스 가져 오기/클릭

$(document).ajaxStop(function() { 

    //FancyBox image zoom functionality jQuery script 
    $("a.aboutContentImage").fancybox({ 
     'zoomOpacity': true, 
     'zoomSpeedIn': 300, 
     'zoomSpeedOut': 300, 
     'overlayShow': true, 
     'frameWidth': 800, 
     'frameHeight': 600 
    }); 
}); 

과 미세 작업을 수행 할 수 있습니다.

그런 다음 창이 열리면 아약스 호출에서 일부 텍스트를로드해야합니다. 시도했습니다.

$("a.aboutContentImage").live("click", function(e) { 

    // ajax here 
}); 

그러나 팬시 박스 객체에 이벤트 리스너를 넣으려고 할 때 호환성 문제가 발생합니다.

+0

멋진 상자 안에 텍스트를로드 하시겠습니까? 어쩌면이 도움이 될 것입니다 : http://stackoverflow.com/questions/2128652/how-to-determine-when-fancybox-is-open –

답변

2

먼저 이미지 제목에 텍스트를 추가하지 않는 이유는 무엇입니까? Fancybox는 캡션에 제목을 자동으로 추가합니다. 다른 작업을해야한다면 Fancybox onComplete 콜백 (ref)을 사용해보세요. 나는 이것을 테스트하지 않은,하지만 작동합니다 :

$(document).ajaxStop(function() { 
    //FancyBox image zoom functionality jQuery script 
    $("a.aboutContentImage").fancybox({ 
    'zoomOpacity': true, 
    'zoomSpeedIn': 300, 
    'zoomSpeedOut': 300, 
    'overlayShow': true, 
    'frameWidth': 800, 
    'frameHeight': 600, 
    'onComplete' : function(){ 
     // do whatever here 
     var txt = $('#text').text(); 
     $('#fancybox-title-float-main') 
     .append(txt) 
     .show(); 
    } 
    }); 
}); 

제목 속성에 무엇이든의 끝에 텍스트를 추가 할 #fancybox-title-float-main에 추가. 따라서 .append() 대신 .html()을 사용하는 것이 좋습니다.

+0

흠, 괜찮아요, 이미지의 제목 속성이 없다면, '#fancybox -title-float-main' div가 존재하지 않으므로'# fancybox-title'에 내용을 추가 할 수 있습니다. 그런 다음 CSS 스타일을 추가해야합니다. 또 다른 해결책은 이미지가있는'# fancybox-content'에 내용을 추가하는 것입니다. 그러나 이미지 높이를'100 % '가 아닌 크기로 변경하고 내용의 높이를 내용에 추가해야합니다 창 - 고통의 더 많은 것. – Mottie

+0

다음은 [데모] (http://jsfiddle.net/Mottie/UagVd/9/)입니다.하지만 모든 ajaxy 항목이 없습니다. – Mottie

+0

그것은 형식이나 이미지 등을 끌어 당기고 제목에 들어갈 수 없거나 있어야합니다. –

관련 문제