2012-06-14 2 views
1

gridview (asp.net) 위치를 gridview가 표준 960 픽셀 이상으로 확장 될 때 절대 위치로 설정하려고합니다.자바 스크립트에서 절대 위치 설정이 작동하지 않습니다.

그러나 나는이 문제를 가로 질러갔습니다. 여기서는 left: 0이 원하는 영향을 미치지 만 그 외에는 아무 것도하지 않습니다.

여기 내 코드입니다. 화면 중앙에 놓으려고하기 때문에 화면이 나옵니다. 그러나 0보다 크면 Left: x의 절대 위치가 작동하지 않습니다. 어떤 도움을 주시면 감사하겠습니다!

var gridview = document.getElementsByTagName("table"); 
      var fieldset = document.getElementsByTagName("fieldset"); 
      fieldset[0].style.position = "relative"; 
      for (var i = 0; i < gridview.length; i++) { 
       var width = gridview[i].offsetWidth; 
       var screenWidth = window.screen.width - 2; 

       if (width > 940) { 
        gridview[i].style.position = "absolute"; 
        if (width > screenWidth) { 
         gridview[i].style.left = 0; 
         alert('> screen'); 
        } 
        else { 
         gridview[i].style.left = 50; 
         alert('< screen'); 
        } 
       } 
      } 

편집 : 수정

+0

문제를 보여주는 간단한 예제를 만드는 것이 좋습니다. 나는 당신의 예제에서 계속할 수있을 지 모르지만, http://jsfiddle.net이 도움이 될 수 있습니다. – Fenton

+2

설정하고있는 값 뒤에 단위 (아마'px')를 연결해야합니다. – bfavaretto

+0

감사합니다. 그 후에 px를 연결해야만했습니다. 그런 어리석은 실수였습니다. 감사 –

답변

0

정말 갈 정도로 갈하지만있는 gridview의 컨테이너가 위치 세트를 가지고하지 않았 음을 경우 할 수있는 값 뒤에 '픽셀'을 CONCAT했다 너의 CSS.

postion:absolute을 사용하려면 위 컨테이너를 position:relative으로 설정하거나 CSS를 렌더링하지 않아야합니다.

크기의 끝에 px를 추가하고 CSS를 왼쪽으로 설정해보세요. XXpx; 단순한 숫자가 아닙니다.

관련 문제