我使用此代碼滾動到頁面底部時,頁面加載:何時啓用滾動事件在jQuery Mobile的
$(function(){
$.mobile.silentScroll(someValue);
}
使用此代碼我不能滾動到頁面底部。發生的是,它滾動到底部半秒鐘,並再次進入默認位置。 我正在使用listview,頁腳和標頭內的身體。 我已經嘗試使用pageshow,頁面加載事件,但無法獲得所需的結果...
我使用此代碼滾動到頁面底部時,頁面加載:何時啓用滾動事件在jQuery Mobile的
$(function(){
$.mobile.silentScroll(someValue);
}
使用此代碼我不能滾動到頁面底部。發生的是,它滾動到底部半秒鐘,並再次進入默認位置。 我正在使用listview,頁腳和標頭內的身體。 我已經嘗試使用pageshow,頁面加載事件,但無法獲得所需的結果...
要理解這一點,您需要了解jQuery Mobile如何工作。
某些功能無法與$(function(){
使用,因爲TA至此頁面只加載到DOM,jQuery Mobile的甚至沒有開始做與該頁面什麼。爲了補救這個jQM開發者創造了一個叫做page events的東西。
基本上$.mobile.silentScroll
只能在正確的頁面事件中使用。但即使如此,您仍然需要稍微延遲才能使用settimeout。無聲滾動根本不是創建用於頁面顯示。
$(document).on('pageshow', '#index', function(){
setTimeout(function(){
$.mobile.silentScroll(1500);
},100);
});
工作例如:http://jsfiddle.net/Gajotres/2xfrM/
在你的情況頁面返回回來,因爲頁面沒有在$(function(){
觸發有一個正確的頁面高度。頁面高度僅在頁面顯示事件中才是正確的,但即使如此,您也需要稍微延遲。
嘿謝謝你的回覆幫助...但我必須設置超時到2000年,使這件事情工作。我也以微妙的方式接近,但從來沒有想過setTimeout,這是一種「jugad」。 – manish
嘗試'$ .mobile.silentScroll($('#footerID')。offset()。top);' –
即使使用此代碼我也遇到了同樣的問題。我認爲這與解僱一些事件有關。 – manish