2014-12-07 3 views
0

이 사용자와 비슷한 문제가 발생했습니다. while showing a div it's always showing at top of page.왜 대상 div를 페이지 맨 위에 표시하는 .show()가 있습니까?

div를 올바른 위치에 표시하려고하고 있지만 현재 .show()에 대한 활성 링크를 클릭하면 div가 나타나지만 페이지 상단에 모든 것이 겹쳐서 나타납니다. 여기

$(document).ready(function() { 
     $(".hiddenreviewform").hide(); 
     $('.exposeform').click(function() { 
       $(".hiddenreviewform").show(); 
       return false; 

     }); 
    }); 

그리고 숨겨진 DIV를위한 CSS입니다 : 여기

내의 .js입니다

나에게 매우 이상한 무엇
.hiddenreviewform{ 
    height: 486px; 
    margin: 0 auto; 
    border-radius: 3px; 
    width: 556px; 
    margin-left:244px;  
} 

있다가 내가 JS를 제거하고 제거하는 경우 display : 아무 것도 숨겨진 div에 없으면 페이지를 새로 고침 할 때 정확한 위치에 나타납니다. 그러나 div를 숨긴 다음 jquery를 사용하여 표시하면 페이지 상단에 나타납니다. 위치 추가를 시도했습니다 : 숨겨진 div에 상대적이며 이로 인해 문제가 해결되지 않았습니다.

이것은 정확히 내 코드가 나타나는 방식이며, 이유는 무엇이든지 코드 펫에서 작동하지만 로컬 컴퓨터에서는 작동하지 않습니다. http://codepen.io/donnaloia/pen/raxjbb

유일한 차이점은 전체 codepen 예를 더 상위 div의 (CSS를이 축소 된 때문에 내가 나머지를 복사 및 붙여 넣기 할 수 없습니다와 나는 복사 관련 붙여 넣기하는 방법을 잘하지 않았다 안에 중첩된다는 것이다 해당 파일의 코드). 그래서 부모 div가 설치되는 방식이 show()에서 내 숨겨진 div의 위치에 영향을 미치고 있다고 가정합니다.

올바른 방향으로 어떤 대답이나 조언을 주시면 감사하겠습니다.

+0

브라우저에서 요소를 검사하여 예기치 않은 CSS가 적용되지 않았는지 확인 했습니까? – isherwood

+0

음수 여백 때문에 링크를 클릭 할 수 없습니다. 나는 그들없이 레이아웃을 만들려고했다. – isherwood

+0

방금 ​​검사했는데 element.style {position : absolute}이 표시됩니다. 나는 그 위치를 무시하고 있다고 생각한다 : 나는 그 div에 설정 한 친척이다. – stephan

답변

0

몇 가지 권장 사항이 있습니다.

  1. <div class="hiddenreviewform"> 내부 <div> 태그의 일부

    가 제대로 닫히지 않았습니다.
  2. 태그를 많이 사용하지 마십시오. <br> 태그. 좋은 습관이 아닙니다. margin, padding 등을 사용하여 데이터를 올바르게 배치하십시오.
  3. 귀하의 styles은 정말 지저분합니다. 그들 중 일부는 먼저 작업을 수행하십시오.
  4. 평점은 이미지가 아닌 & #9734; (기호는 & #9734;)입니다. This 사이트가 편리 할 것입니다.

첫 번째 사항은 작업을 완료하게됩니다.

관련 문제