gpt4 book ai didi

javascript - 页面加载后使用 JQuery 滚动到 DIV 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 22:52:34 25 4
gpt4 key购买 nike

我试图将页面滚动到 DIV,其 ID 通过 QueryString 发送。页面的 HTML 内容从 SharePoint 2010 的服务器端加载。

我使用 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];
}
}

你能建议我缺少什么吗?

提前致谢。

最佳答案

我找到了我的问题的解决方案。我们可以使用简单的 JavaScript 代替 jQuery animate 函数。

ExecuteOrDelayUntilScriptLoaded(getThankyouMsg, 'sp.js');

function getThankyouMsg() {
var fid = getQueryStringParameter("fid");
setTimeout(function () {
location.hash = "#"+fid; //This line will navigates to Div ID
}, 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];
}
}

Location.Hash = "#divId"将向下滚动到页面上的特定 div。

关于javascript - 页面加载后使用 JQuery 滚动到 DIV 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46800344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com