我想將頁面滾動到DIV,其ID是通過QueryString
發送的。該頁面的HTML內容從服務器端加載到SharePoint 2010
。使用JQuery滾動到DIV頁面加載後不工作
我已經使用setTimeout()
等待內容加載到頁面上,超時後我正在應用邏輯滾動到div。但該頁面不滾動。代碼如下:
ExecuteOrDelayUntilScriptLoaded(getThankyouMsg, 'sp.js');
function getThankyouMsg() {
var fid = getQueryStringParameter("fid");
setTimeout(function() {
//window.location.href = window.location.href.split('?')[0] + "#" + fid;
jQuery('html, body').animate({
scrollTop: jQuery("#" + fid).offset().top
}, 2000);
}, 7000);
}
function getQueryStringParameter(paramToRetrieve) {
var params = document.URL.split("?")[1].split("&");
for (var i = 0; i < params.length; i = i + 1) {
var singleParam = params[i].split("=");
if (singleParam[0] == paramToRetrieve)
return singleParam[1];
}
}
你可以請建議我失蹤?
在此先感謝。
感謝您的回覆,但我必須使用setTimeout,因爲此代碼正在SharePoint中使用,並且我檢索的數據來自SharePoint列表,因此服務器端代碼需要時間加載,而此JavaScript首先運行。所以當這個腳本運行時,它沒有找到DIV。 –
完成加載頁面需要6到7秒,之後我必須運行這個JavaScript函數。 –
@RahulGokani .ready應該在dom準備好之前阻止代碼執行。你是用javascript動態添加div還是硬編碼到頁面中? – Hendeca