2017-04-09 39 views
0

想象一下,我有一個網站溢出了三倍的視口高度。我可以從這個網站上下滾動。移動一個div相對於你在一個可滾動頁面上的垂直位置

是否可以創建一個div,從視口的頂部移動到底部,相對於已滾動的總頁面數量?

示例 - 有人會介意幫助我實現類似this的行爲嗎?不知道它是如何完成的。

編輯:

var scrollValue; 
    var percent; 

    var body = document.body, 
     html = document.documentElement; 

    var height = Math.max(body.scrollHeight, body.offsetHeight, 
    html.clientHeight, html.scrollHeight, html.offsetHeight); 

    $(document).ready(function(){ 
     $("button").click(function(){ 
        scrollValue = $("body").scrollTop(); 
        percent = (scrollValue/height) * 100; 
        alert(percent); 
     }); 
    }); 
+0

和...什麼是問題,你所面對? – bhansa

+0

對不起,如果它不清楚 - 我不知道如何移動一個div相對於頁面滾動的多少。 @Bhansa –

回答

1

您可以嘗試使用jQuery scrollTop()。請參閱demo at jquery.com

理念: 如果你瞭解這兩種類型中使用此功能(帶/不帶參數),你可以使用相同的功能,讓您的自定義滾動條的當前滾動位置的,則觸發您的div滾動到相對滾動位置。

備用任務:如果你想上滾動鼠標滾輪移動定製的滾動條,我建議使用jquery mousewheel plugin -

$(window).mousewheel(function(turn, delta) { 

    if (delta == 1) // going down 
    else //going up 

    // all kinds of code 

    return false; 
}); 
+0

謝謝!我有一個演示工作的地方div移動到它應該在點擊一個按鈕...任何想法如何更新它每當滾動操作發生? @Partharajdeb –

+0

檢查更新。 –

+0

查看我編輯的問題中放置的代碼。我在buttonpress上找到當前滾動條的位置,找到頁面的高度,並將滾動條的位置除以總頁面高度,以便在滾動條所在頁面的下方給出一個百分比。不過,我希望這會在用戶滾動時自動更新,因爲按鈕壓縮是非常不切實際的。我只需要使用超時來每秒激發循環數千次?這看起來不正確。 –

相關問題