gpt4 book ai didi

jquery - 为什么这个js脚本在回发后在asp.net中不起作用?

转载 作者:行者123 更新时间:2023-12-01 03:01:17 25 4
gpt4 key购买 nike

我有这个代码:

 if (Page.IsPostBack)
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Javascript", "alert('test');jQuery('html, body').animate({ scrollTop: jQuery('.newslettersubscribe').position().top }, 'slow');",true);
}

我不明白为什么滚动到页面底部的 div 不起作用。

请注意,alert('test') 正在出现...

当然,我的页面上有一个带有 newslettersubscribe 类的 div。

更新:- 我的 js 文件是使用脚本管理器加载的:

<asp:ScriptManager ID="ScriptManager1" runat="server" >
<Scripts>
<asp:ScriptReference Path="~/js/jquery-1.4.2.min.js" />
<asp:ScriptReference Path="~/js/cufon-yui.js" />
<asp:ScriptReference Path="~/js/helvetica_neue.js" />
<asp:ScriptReference Path="~/js/jquery.cycle.all.js" />
<asp:ScriptReference Path="~/js/default.js" />
<asp:ScriptReference Path="~/js/swfobject-2.1.js" />
</Scripts>
</asp:ScriptManager>

所以我需要找到一种方法在加载这些外部js文件后运行这个内联脚本...

更新 2:在与 dknaack 进行聊天讨论后,我们注意到位置也存在问题。我已按照他的建议替换为 offset,现在它可以工作了!!!

非常感谢dknaack!

最佳答案

我已经尝试过你的代码。

问题是你没有等到DOM已满载。

更改您的 RegisterClientScriptBlock对此。

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Javascript", "alert('test');jQuery(function(){jQuery('html, body').animate({ scrollTop: jQuery('.newslettersubscribe').position().top }, 'slow');});", true);

看看这个 jsFiddle Demonstration

更新

确保您的 jQuery<version>.js文件位于您的脚本上方。查看加载页面的 Html 源代码。您应该将 jQuery 文件添加到 <head>您网站站长的部分。

关于jquery - 为什么这个js脚本在回发后在asp.net中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8953442/

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