2011-09-05 4 views
1

iframe이 삽입 된 페이지가 있습니다. iframe은 꽤 길며 뷰포트를 넘어 확장됩니다.iframe 내부의 색상 상자 위치 제어

iframe 내부에는 링크가있는 긴 텍스트 목록이 있습니다. Colorbox를 사용하여 링크 중 하나를 클릭하면 오버레이를 표시합니다. iframe의 내용이 너무 길기 때문에 부모 뷰포트의 중심이 아니라 iframe의 가운데에 세로로 배치되어있어 오버레이가 항상 표시되는 것은 아닙니다.

누구나 뷰포트를 기준으로 오버레이를 표시하는 방법이나 적어도 클릭 한 링크를 기준으로 표시하는 방법을 말해 줄 수 있습니까?

+1

colorbox를 사용하여 표시하고있는 콘텐츠는 해당 이미지입니까? 그렇다면 가장 쉬운 해결책은 클릭 한 이미지 href를 부모 프레임에 전달한 다음 colorbox를 사용하여 표시하는 것입니다 (위치 확인 문제를 극복하기 위해 부모 윈도우 내에서 colobox를 호출하십시오). – WTK

+0

감사합니다 WTK, 지금 당장 올바른 길에 있다고 생각해. – user736129

답변

0

WTK에서 말한 것처럼 Colorbox JS 및 CSS 파일을 부모에 포함시켜야합니다. 그럼 그냥 ... colorbox 사용자 정의 클래스이 같은 iframe이 뭔가 내부에서

$("a.colorbox").click(function(){ 
var linkurl = $(this).attr("href"); 
parent.$.colorbox({href:linkurl}); 
return false; 
}); 

를 colorbox를 호출 할 수 있습니다 그리고 오버레이 정확한 수직 위치에 나타납니다.

+0

하지만 교차 도메인에서 사용해야하는 경우에는? –