我能夠實現解決方案發布here(「位置:固定和絕對在同一時間。如何?」)以獲得div元素水平移動與頁面的其餘部分,但保持垂直固定。但是,這種解決方案會導致所選元素一直移動到頁面的左側(看起來像是20px的邊距)。我還是新的JavaScript和jQuery,但據我瞭解,以下內容:如何讓jQuery函數一直向左移動元素?
$(window).scroll(function(){
var $this = $(this);
$('#homeheader').css('left', 20 - $this.scrollLeft());});
需要選擇的元素,並且在用戶滾動,影響元素的CSS,以便從它的位置左變成當前滾動條位置的一些函數,由20px邊距調整。如果這是正確的?如果是這樣,任何人都可以想出一種方法,我可以改變它,以便不必將選定的元素一直移動到窗口的左側,而只是將其移動到左側,作爲正文元素的默認CSS位置的HTML文件(如下所示)?
body {font-size:100%;
width: 800px;
margin-top: 0px;
margin-bottom: 20px;
margin-left: auto;
margin-right: auto;
padding-left: 20px;
padding-right: 20px;}
編輯:這裏是一個jsfiddle(代碼here),我提出來說明這個問題。我的頁面設計爲當以全屏模式或接近全屏模式顯示時,#homeheader元素由於其寬度和左右邊距被設置爲自動而呈水平居中。隨着頁面越來越小,邊距也會變得越來越小,直到它們完全消失,並且被20px的填充左側和填充右側設置替代。所以在這一點上(當窗口足夠小,邊距完全消失時),這就是jsfiddle所顯示的,代碼似乎按預期工作,但是當窗口全尺寸時,JS會覆蓋CSS並將div元素一直到左側(擺脫邊距)在任何滾動動作。
什麼CSS是'#homeheader'?沒有一個例子就很難說出發生了什麼。一個[jsbin](http://jsbin.com)可能會幫助:) – 2012-03-09 03:43:23
@ChristianVarga,我編輯了我的文章以包含一個jsfiddle,但是從我編輯的其餘部分可以看到,它並不完全說明我的問題... – GChorn 2012-03-10 01:57:57
關於你的jsFiddle,只需在'Fiddle URL的末尾添加'/ show' ... [http://jsfiddle.net/6nxBg/show/](http://jsfiddle.net/6nxBg/show /) – Sparky 2012-03-10 02:09:44