2012-08-23 2 views
3

div가 포함 된 div (즉, 래퍼 div) 안에 있습니다. 이 래퍼 div의 여백은 auto로 설정되어 있으므로 페이지의 가운데에 배치됩니다. 버튼을 클릭하면 래퍼 div 안에있는 다른 div가 jQuery의 slideDown 함수를 사용하여 표시됩니다. 그러나 이런 일이 발생하면 래퍼 div가 두 픽셀을 왼쪽으로 이동시키고 jQuery의 슬라이드 업 기능을 통해 div가 사라지도록 버튼을 다시 누르면 뒤로 이동합니다.jQuery slideDown으로 인해 Firefox에서 래퍼 div가 이동합니다

#wrapper { 
     background: url(myimages/bground.jpg); 
     text-align: center; 
     margin: auto; 
     width:1020px; 
     border:0px solid red; 
    } 

    div.answer{ 
     border: 0px solid #5c5c5c; 
     padding:3px; 
     margin-left: 29px; 
     margin-right: 29px; 
     display:none; 
    } 

자바 스크립트 :

$('span.problemBullet').toggle(function(){ 
     $('div.answer').slideDown(); 
     $(this).html(' - '); 
     $(this).css('padding','0px 2px 0px 2px'); 

    }, 
     function(){ 
      $('div.answer').slideUp(); 
      $(this).html(' + '); 
      $(this).css('padding', '0px 0px 0px 0px'); 

     } 

    ); 

"problemBullet"여기 내 코드는, div.answer는

는 CSS 버튼을 클릭하여/숨기기를 보여 래퍼 DIV 내부의 사업부입니다 span 요소에서 만든 작은 버튼을 클릭하면 표시 및 숨길 div를 얻으실 수 있습니다.

Google 크롬과 Safari에서 제대로 작동합니다.

현재 작업에서 볼 수 있습니다 Click me

+0

또한 HTML 나는'오버 플로우 추가했다 문제가 한 번 있었다 :-) – andyb

+1

게시하시기 바랍니다 :

내 가장 좋은 방법은이 CSS로 기본적으로 스크롤을 보여주는 것입니다 숨겨져을;' 슬라이딩 대상으로 이동합니다. 노력할 가치가 있습니다. – romo

+0

'slidedown'과'slideup'을'show'와'hide'로 바꾸면 똑같은 문제가 발생합니까? – ebohlman

답변

0

처럼이에 스크롤의 원인이 div에 아래로 슬라이딩이 뷰포트보다 큰 지점으로 신체의 높이를 증가하기 때문에 이런 의견에서 지적 그러면 전체 내용이 왼쪽으로 이동합니다.

body { 
    overflow-y: scroll; 
} 
관련 문제