2013-02-08 95 views
0

我剛剛創建了一個不與頁面的其餘部分一起滾動的sidemenu,或者更確切地說,它使用滾動事件重新定位到包含div的頂部,採用scrollTop值並使用一點緩動重新放置sidemenu div。這一切工作正常,但我寧願它只是保持靜止,根本不移動。所以問題是,有沒有辦法讓它保持絕對靜態而無需使用position:fixed? (位置:固定的原因,其中包括需要黑客等問題,窗口大小調整,解決使用絕對也會導致同樣的問題。)當滾動如何保持不使用位置固定div:固定

我當前的代碼:

$('#mainbox').scroll(function() { 
    var newTopMargin = $(this).scrollTop(); 
    $('#sidemenu').animate({marginTop: newTopMargin}, 100); 
});  

感謝

回答

2

不要使用.animate。只需使用.css('marginTop', newTopMargin)即可。我想你也可以從.animate刪除100

+0

將不起作用。你必須等待scrolltop才能完成它的工作,並且這需要並導致快速重新定位。這就是爲什麼我放鬆,以消除急躁。 – RobC

+0

@RobC你可以防止默認滾動,然後滾動窗口和div一起手動 –

+0

不認爲這將工作,文檔說滾動事件被觸發時,內容位置被改變,所以爲時已晚。 我認爲其他事件需要被困,但不知道哪個或哪個可能。 – RobC