2012-11-13 3 views
0

Fancybox에 대한 녹아웃 바인딩을 조작하려고합니다. (여기서는 너무 복잡하다고 생각하지 않지만). 여기 예제에서 코드를 기반으로 Fancybox 전화 해요 : http://jsfiddle.net/STgGM/전화 할 때 Fancybox 2가 표시되지 않습니다.

$.fancybox.open([{ 
        href: value.image(), 
        title: value.title() 
       }], { 
        padding: 0 
       }); 
같은 외모에 전달 된 객체

:

{href: "http://example.com/imageurl", title: "Image Title"} 

가 fancybox 코드를 통해 스테핑은, 그것은을 보여 주려에서 보석금 스크립트의 855 행 주위의 이미지 :

if (!type) { 
    F.coming = null; 

    //If we can not determine content type then drop silently or display next/prev item if looping through gallery 
    if (F.current && F.router && F.router !== 'jumpto') { 
     F.current.index = index; 

     return F[ F.router ](F.direction); 
    } 

    return false; 
} 

나는이 시점에서 무엇을 찾고 있는지 완전히 모른다. F.current이 null이고 F.router이 개체에 없습니다.

간단히 말해, 마크 업을 많이 수정하지 않고 링크 클릭에서 Fancybox를 트리거하거나 특정 요소에 .fancybox()을 호출하려고합니다. 이것은 가능한 것처럼 보이지만 그것은 나를 위해 작동하지 않는 것 같습니다.

+0

은'image()'함수입니다. 그렇다면 코드를 붙여 넣을 수 있습니까? – JFK

답변

3

코드를 자세히 조사한 결과 결국 해결책을 찾았습니다. Fancybox는 내가 제공 한 URL을 검사하여 표시 할 내용의 종류를 파악하려고했습니다. 내 URL에는 확장자가 없었기 때문에 Fancybox는 전체 파일 이름이 아닌 이미지를 액세스하는 ID와 ID를 사용하는 외부 서비스에서 온 것이므로 표시 할 내용을 알지 못해 포기했습니다. 나는 내용이 무엇인지 알고 있기 때문에

해결책은 이것이다 : 예상대로

$.fancybox.open({ 
      href: value.image(), 
      title: value.title(), 
      type: 'image' 
     },//other stuff (not relevant to this) 

이것은 FancyBox 작업을합니다.

관련 문제