2014-02-20 5 views
0

iframe에서 작동하는 응용 프로그램에서 작업 중입니다. iframe은 꽤 길지만 스크롤바는 전혀 없습니다. 외부 페이지는 분명히 않습니다.iframe의 위치 대화 상자

iframe에서 모달 대화 상자 (도조에서 하나)를 표시하고 있으며 대화 상자가 뷰포트 상단에서 10px 위치에 있어야합니다. 그러나 jquery에는 현재 툴바 설정과 관련하여 올바른 위치를 결정하는 유용한 기능이없는 것 같습니다 (scrollTop은 외부 페이지의 요소를 사용하여 호출해야하며 iframe은 뷰포트보다 길기 때문에 아무 것도 없습니다) . 또한 최상위 수준의 문서에 있어야하기 때문에 CSS 위치를 고정하여 사용할 수 없습니다.

나는 또한 도장 지원 객체 창을 사용하려고했지만, 위치도 제대로 작동하지 않습니다 ... 사전에 어떤 도움

감사합니다.

답변

0

글쎄, 부모 페이지 "onscroll"이벤트에 핸들러를 추가 할 수 있습니다. 핸들러에 당신이 스크롤의 상단 위치를 검색 할 수 있으며,이 같은 기능을 통해 자식 프레임이 값을 보내 : 아이 측면에서

window.onscroll = function() { 
     var doc = document.documentElement, body = document.body; 
     var top = (doc && doc.scrollTop || body && body.scrollTop || 0); 
     document.getElementById("IFRAME_ID").contentWindow.SetTopValue(top); 
    }; 

, 고정 CSS의 위치로 모달 DIV를 설정하고, 상위 스크롤 값을받는 javascript 함수에서 "top"속성을 "scrollvalue + 10"으로 설정합니다. 이 같은 것 :

function SetTopValue(top) { 
     document.getElementById("MODAL_DIV").style.top = (10 + top) + "px"; 
    }