2014-06-26 68 views
0

我有一個在屏幕上定格(#mydiv)並固定在從視口中1000px height0p X,我的屏幕尺寸爲1280 X 800像素及文件高度爲1600像素;如何保持DIV固定在視

所以我'm從div高度丟失額外的200px,我如何計算在滾動時顯示的頂部位置?並且當再次向上滾動時返回top:0

+0

如果你想滾動,你爲什麼要使用'position:fixed'?你不能使用'position:absolute'嗎? – blex

+0

'$(「#id」)。offset()。top'? – Mooseman

回答

0

如果你想要的是你的div在位置:0頁面頂部,但仍然可以滾動,當你向下滾動,那麼你在看什麼是設置你的div:

position:absolute; 
top:0; 

要注意的div定位於絕對會採取自己的位置respectivly他們關閉的祖先不具有一個靜態的位置(其默認值,如果你不指定任何位置屬性的話)。

如果由於某種原因你不能或不想有絕對位置的股利,可以計算出頁面的偏移,並相應地改變div的位置,假設你使用jQuery:

$(window).scroll(function() { 
    $("#mydiv").css({ 
    top: -$(document).offset().top 
    }) 
}); 

這將使div#mydiv與文檔一起上下移動,假設它的初始位置固定在頂端:0

我真的會使用CSS解決方案(絕對位置)而不是javascript。讓瀏覽器做它的事情,而不是設置無用的資源的代碼。

+0

在jQuery解決方案中,排名首位應該是負值。我們向下滾動,所以div需要上升才能看到它的底部;) – blex

+0

感謝blex,糾正了它。 –