jQuery scrollTop 函数先向下然后动画到顶部
Posted
技术标签:
【中文标题】jQuery scrollTop 函数先向下然后动画到顶部【英文标题】:jQuery scrollTop function goes down first and then animates to top 【发布时间】:2015-07-19 23:41:22 【问题描述】:如果在回发按钮单击时出现错误,我想滚动到顶部。我正在研究 asp.net C#。我正在使用以下方法滚动到顶部。
page_load 方法上的.cs 代码
if (IsPostBack)
System.Web.UI.ScriptManager.RegisterStartupScript(Page, this.GetType(), "ScrollPageLogin", "ResetScrollPositionLogin();", true);
jquery 调用的.ascx 代码
function ResetScrollPositionLogin()
$('html, body').animate( scrollTop: 0 , 'fast');
当我使用此代码并单击登录按钮时,它首先向下滚动,然后向上滚动。请帮我解决这个问题。
【问题讨论】:
没有滚动变化的页面位置在哪里?如果您取出动画,页面位置已经在顶部,还是在某处的“#”链接位置? 默认页面位置是页面中间。因此,当我将页面位置设置为顶部时,它首先变为默认值,然后动画到顶部。 您希望页面跳过中间部分,只加载页面顶部的视图,? 是的。当我点击登录链接时,如果回发时出现任何错误,我想将页面滚动到顶部,以便用户可以看到错误。 测试一些东西。现在跳过 jquery。只需将 window.addEventListener('load',function()document.documentElement.scrollTo(0,0)) 添加到头部的脚本标记中,看看会发生什么(除非您使用 ajax,否则不要使用窗口加载使用您的 ajax 成功/失败方法)。 【参考方案1】:嗯,许多浏览器都有智能冲浪功能,这意味着它们可以记住页面位置和表单输入等内容,而无需被告知。一些at stack already 已经解决了这个问题
另一种非常老套的做法是将页面正文设置为 display:none,然后使用 jquery show() 或纯 javascript 将显示设置为在内容加载后阻止。隐藏页面位置的任何跳跃,但至少可以说不是理想的设计。
【讨论】:
以上是关于jQuery scrollTop 函数先向下然后动画到顶部的主要内容,如果未能解决你的问题,请参考以下文章
使用jQuery确认和scrollTop导致页面向上滚动然后向下滚动
是否可以使用 jQuery 为 scrollTop 设置动画?