2013-03-07 67 views
2

我在網上看到的大多數方法/事件僅返回用戶當前滾動頁面下方的值。我怎樣才能讓客戶*實際滾動?我打算做的是讓客戶在某個動作後向下滾動215px(來自他們目前所在的位置)。如何讓用戶在jQuery中滾動?

更新

我有這方面的工作對我想要的事件向下滾動215px:

$(".mobile_text_focus_fix").focus(function(){ 
var top = document.body.scrollTop; 
top += 215; 
window.scrollTo(0,top) 
}); 

但是,看來這不會允許客戶端從滾動下方215px文件底部。如果客戶端位於底部215像素內或底部,則底部移動至215像素。如果客戶端距底部僅215像素,則它只能滾動到215像素。我試圖讓客戶端向下滾動215px,或者如果它們距文檔底部小於215px,然後一直向下滾動。

更新

我當前的代碼是計算文檔的高度一次滾動基於它的innitial計算每一次,這是造成上述這一段落提到一個奇怪的問題。

但是,我的文檔根據注入到主體的xml改變了大小,我還需要能夠將客戶端向下滾動215px,或者如果它們已經在215px之內,則可以滾動到文檔底部的底部底部,每次用戶執行特定的操作。

此動作可能會在不同高度滾動時出現多次,或者通過xml在頁面上放置不同的內容,這會改變文檔高度。所以基本上,我如何執行與上述代碼相同的任務,但每次都要重新計算文檔高度?

+0

複製? http://stackoverflow.com/questions/12650170/how-to-scroll-down-jquery – ingo 2013-03-07 15:31:05

+0

你的意思是_user_或_client_?我的意思是,強迫用戶向下滾動,可以讓他們使用滾輪,但我懷疑這是什麼意思? – Nanne 2013-03-07 15:31:42

+0

你可能會在這裏找到你的答案:http://stackoverflow.com/questions/3742346/use-jquery-to-scroll-to-the-bottom-of-a-div-with-lots-of-text?rq= 1 – 2013-03-07 15:34:24

回答

2

首先,您必須通過document.body.scrollTop獲取文檔的當前位置,並將215添加到該文檔中。然後使用window.scrollTo或jQuery .animate()從當前位置向下滾動215px。

沒有使用jQuery

var top = document.body.scrollTop; 
top += 215; 
window.scrollTo(0,top) 

向下滾動與動畫通過使用jQuery

var top = document.body.scrollTop; 
top += 215; 
$("html, body").animate({ scrollTop: top },'100'); 
+0

出於某種原因,我無法讓jQuery工作。我一直在這些內部放置這個函數:$(「。mobile_text_focus_fix」)。focus(function(){var top = document.body.scrollTop; top + = 215; window.scrollTo(0,top)});然而,JavaScript,我認爲這是JS,版本的作品,但給我一個新問題。客戶端只能從文檔底部向下滾動至215px。如果客戶端位於底部,或者距離底部小於215像素,它將導致它從底部標記滾動到215像素,如果底部僅超過215像素,則它僅從底部向下滾動至215像素。 – Eric 2013-03-07 15:55:03

+0

你會添加一些邏輯來檢查是否scollTop達到'文檔的底部 - 窗口高度',如果是則什麼都不做,否則請滾動它。 jQuery應該像我測試過的那樣工作。 – Derek 2013-03-07 16:25:31

相關問題