2013-06-26 4 views
0

div의 높이를 변경하려면 내 페이지의 머리에 넣은 함수 이름이 onresizeWindow()이고 onresizeWindow2()입니다.페이지가로드 된 후 window.onresize 변경에 실패했습니다.

function onResizeWindow() { 
     if (window.innerHeight && document.getElementById("divListItem")) 
      document.getElementById("divListItem").style.height = window.innerHeight - 135; 
     else if (document.getElementById("divListItem")) 
      document.getElementById("divListItem").style.height = document.body.clientHeight - 135; 
    } 
function onResizeWindow2() { 
     if (window.innerHeight && document.getElementById("divListItem")) 
      document.getElementById("divListItem").style.height = window.innerHeight - 275; 
     else if (document.getElementById("divListItem")) 
      document.getElementById("divListItem").style.height = document.body.clientHeight - 275; 
     } 
} 

그런 다음 내 페이지의 바닥 글에서 나는 사용자가 버튼을 클릭하면이

window.onresize = onResizeWindow; 
onResizeWindow(); 

, 내가

function showDiv(){ 
     var tr = document.getElementById('tdSearch');    
     if (tr.style.display =="table-row"){ 
      tr.style.display = "none"; 
      window.onresize= null; 
      window.onresize= onResizeWindow(); 
      onResizeWindow(); 
     }else{ 
      tr.style.display = "table-row"; 
      window.onresize= null; 
      window.onresize= onResizeWindow2(); 
      onResizeWindow2(); 
     } 
} 

문제는 버튼을 클릭 한 후입니다이 코드를 넣어 넣어, 페이지 페이지의 onresize 기능이 더 이상 작동하지 않습니다. 그것을 고치는 방법?

+0

왜 과제에'()'를 추가하기로 결정 했습니까? 'window.onresize = onResizeWindow2;'를 사용하십시오. 예를 들어 – Ian

+0

답을 고마워요.하지만 ... 저는 그저 바보 같아요. 그렇게 바보 같아서는 안됩니다 ... window.onresize = onResizeWindow(); 해야합니다 window.onresize = onResizeWindow; 및 window.onresize = onResizeWindow2(); 해야합니다 window.onresize = onResizeWindow2; –

+0

나는 괄호를 제거하고 그게 작동 –

답변

0

원래 할당과 마찬가지로 ()을 사용하지 않아야합니다. 사용 :

window.onresize = onResizeWindow; 
// and 
window.onresize = onResizeWindow2; 

() 추가 즉시 함수를 호출하고 onresize 재산에 대한 자신의 반환 값을 할당합니다. 이 함수는 아무 것도 반환하지 않으므로 undefined이 반환 된 값입니다. 즉, 윈도우 크기를 조정할 때 아무 것도 실행되지 않습니다.

+0

yesss thanks ... 나는이 질문을하는 것이 너무 어리 석다. ( –

+0

@ user2495615 바보 같은 느낌이 들지 않는다. 사람들은 종종 눈의 또 다른 세트를 필요로하며, StackOverflow가 무엇인지에 대한 것입니다. 코드가 고정되어있어서 다행입니다 :) – Ian

+0

고마워요. 이안 ... 아주 친절 하구요. –

0

window.onresize= onResizeWindow();을 수행하면 onResizeWindow를 실행하고 반환 값에 onresize를 설정하므로 window.onresizeundefined으로 설정하는 것이 좋습니다.

그냥 괄호를 제거하십시오.

function showDiv() { 
     var tr = document.getElementById('tdSearch');    
     if (tr.style.display === "table-row") { 
      tr.style.display = "none"; 
      window.onresize = onResizeWindow; 
      onResizeWindow(); 
     } else { 
      tr.style.display = "table-row"; 
      window.onresize = onResizeWindow2; 
      onResizeWindow2(); 
     } 
} 
+0

고마워 ... 나는 그것을 가지고 ... –

관련 문제