2013-10-08 37 views
0

我需要在純javascript中,在WINDOW的頂部放置絕對定位的元素(它絕對定位於相對於身體的位置),而不是正文。使用純javascript將絕對定位的元素放置在窗口頂部

它不能固定的位置,只有絕對。我目前使用有點hackish的方法,這樣做的:

var timeOut; 
function scrollToTop() { 
    if (document.body.scrollTop!=0 || document.documentElement.scrollTop!=0){ 
     window.scrollBy(0,-50); 
     timeOut=setTimeout('scrollToTop()',10); 
    } 
    else clearTimeout(timeOut); 
} 

和...

onclick="scrollToTop();return false" 

...彈出一個絕對定位的div。

現在,根據用戶在頁面上的位置,我需要將窗口顯示在瀏覽器窗口的頂部,而不是文檔的頂部。我知道如何在jQuery中做到這一點,但我想不出在JavaScript中的方法。

任何幫助將不勝感激!

+0

你們是不是要滾動窗口,或者到div的位置?你說你知道如何在jQuery中做到這一點,你可以發佈你的jQuery解決方案嗎? – howrad

+0

只需將div放在瀏覽器窗口的頂部即可。它只會做一次,而不是堅持到位。 –

回答

1

是否這樣?每次單擊按鈕(已修復)時,窗口頂部都會添加一個Product Menu Bar div。

http://jsfiddle.net/kmFQD/1

代碼:

function insertAtTop() 
{ 
    var newDiv = document.createElement("div"); 
    newDiv.innerHTML = "Product Menu Bar"; 
    newDiv.className = "productMenuBar"; 
    newDiv.style.top = pageYOffset + "px"; 

    document.body.appendChild(newDiv); 
} 
+0

我認爲我們在這裏是正確的道路,但它是一個元素,直到按鈕被點擊纔會被添加。 –

+0

我的答案和JSFiddle已被編輯以解決先前的評論。 – howrad

相關問題