2011-09-21 7 views
-2

아래 기능은 두 개의 .php 문서에서 사용되었습니다. 이 코드는 처음에는 완벽하게 작동하지만 두 번째 문서에서는 (mode == "on") 조건에서 처음 두 개의 대입 명령문 만 실행합니다.왜 이런 상황에서 javascript가이 블록을 제대로 실행하지 못합니까?

첫 번째 문서에서 "popoutfg"는 부모 창에있는 iframe입니다. 두 번째 문서에서 "popoutfg"는 부모 창에있는 다른 iframe 내에있는 iframe입니다.

기본적으로 문제는 두 번째 문제입니다. temp1.style.visibility="visible";temp2.style.visibility="visible";입니다.

감사합니다. =

function popout(mode, links, width, height, paddingh, paddingv) 
{ 
    var temp1 = document.getElementById("popoutfg"); 
    var temp2 = document.getElementById("popoutbg"); 
    if(mode == "on") 
    { 
     temp1.style.visibility = "visible"; 
     temp2.style.visibility = "visible"; 
     temp1.style.width = width; 
     temp1.style.height = height; 
     temp1.style.left = paddingh; 
     temp1.style.right = paddingh; 
     temp1.style.top = paddingv; 
     temp1.style.bottom = paddingv; 
     temp1.src = links; 
    } 

    if(mode == "off") 
    { 
     temp1.style.visibility = "hidden"; 
     temp2.style.visibility = "hidden"; 
    } 
} 
+1

그러면 자바 스크립트 오류가 발생했을 수 있습니다. 오류 콘솔이나 디버거 콘솔에서 그 내용을 확인 했습니까? temp1과 temp2가 유효하다는 것을 절대적으로 확신합니까? 이 줄에서'> '문자는 무엇인가 :'temp1.style.visibility = "visible";'? – jfriend00

+0

상위 페이지에서 iframe 내의 요소를 찾기 위해'document.getElementById()'가 작동하지 않을 것입니다. 그 부분이 효과가 있다고 확신합니까? ('if' 전에'alert (temp1.id);')를 던지면 무엇을 얻겠습니까? – nnnnnn

+0

@jfriend - 오 죄송합니다.> 코드를 복사하는 동안 내가 실수 한 것입니다. 나는 물건을 입력 stackoverflows 방법으로 혼란스러워. temp1이 iframe 표시를 시각적으로 변경 했으므로 temp1이 유효 함을 확신합니다. 나머지 스타일 속성은 설정하지 않았습니다. – AccidentallyC

답변

0

3

temp1.style.width = width; 

잘못된 인수 오류가 당신이 합법적으로 폭 매개 변수를 설정하지 않는 것을 제안

alert(width); 

전에 추가합니다. 이것이 내가 알게 된 가치를 알리는 데 도움이되지 않으면 추가 조사를 시도 할 것입니다.

관련 문제