2011-08-26 7 views

답변

6

position: fixed으로 표시하고 사용자가 스크롤하는 위치와 상관없이 그 위치에 두지 않는 이유는 무엇입니까? 그렇다면 자바 스크립트 속임수가 필요하지 않습니다. 단지 사용

$(window).scroll(function() { $('#box').center(); }); 
7

당신은 그것을 위해 jQuery를 필요가 없습니다

그러나, 현재의 문제에 대답하기 위해, 당신은 당신이 윈도우의 스크롤 이벤트에 반응하지 번을 중심으로 제공하는 것 CSS

HTML

<div id="senad">content</div> 

CSS

#senad { width: 200px; height: 200px; position: fixed; top: 50%; left: 50%; border: 1px solid gray;} 

Thi는 요소를 가운데에 유지합니다.

+1

감사하지만, CSS만을 사용하지 못할. – billa

+0

CSS를 사용하여 높이를 설정 한 것 같습니다. 그래서 'position : fixed'를 동시에 설정하지 않으시겠습니까? – LeeGee

1

여기 있습니다. document.body.scrollTop의 스크롤 이벤트와 고려 업데이트

http://jsfiddle.net/8Dupa/4/

$ (창) .scroll (함수() {$ ('# 상자') 센터();.});

및 센터()

가기 + = document.body.scrollTop 내의

;

1

사용이 플러그인 : 높이가 더있는 경우, 사업부의 절반이 숨겨진 유지되도록 사업부의 높이가 항상 동일하지 않기 때문에

jQuery.fn.center = function(){ 
this.css("position","absolute"); 
this.css("top","50%"); 
this.css("left","50%"); 
this.css("margin-top","-"+(this.height()/2)+"px"); 
this.css("margin-left","-"+(this.width()/2)+"px"); 
return this;} 

$("#id").center(); 
관련 문제