【问题标题】:Scroll to bottom of page with animation vb.net滚动到带有动画 vb.net 的页面底部
【发布时间】:2017-05-12 06:44:17
【问题描述】:

我正在尝试创建一个可以从手机和 PCS 访问的登录页面。在我的表单底部(大约在页面底部)我显示标签错误。问题是在小型设备上变得可见时,除非向下滚动屏幕,否则用户无法看到它。所以我尝试使用下面的 jquery 进行自动滚动:

 $("html, body").animate({ scrollTop: $("#LabelError").offset().top }, 500);

这是完美的工作,但我需要从服务器端使用 vb.NET,但我不知道如何。有什么帮助吗?

【问题讨论】:

    标签: jquery css vb.net animation scroll


    【解决方案1】:

    您可以从 VB.Net 注册和使用 JS,例如:

    在 html 中定义一个错误 div(Default.aspx 或其他):

    <div id="ErrorDiv">Error</div> 
    

    然后从 vb.net 像这样调用它

    ClientScript.RegisterStartupScript([GetType](), "SetFocus", "window.location.hash = '#ErrorDiv';", True)
    

    点击事件示例:

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            'Response.Redirect(String.Format("{0}#{1}", Request.RawUrl, "ErrorDiv"))
            ClientScript.RegisterStartupScript([GetType](), "SetFocus", "window.location.hash = '#ErrorDiv';", True)
        End Sub
    

    【讨论】:

    • 不幸的是,这对我不起作用。还是谢谢你
    • 这段代码已经过测试并且在我的系统上运行良好。检查是否有其他错误
    【解决方案2】:

    好的,我解决了。 我使用 jquery 处理了标签可见时的事件:

    $(function () {
    
       var observer = new MutationObserver(function (mutations) {
         $("html, body").animate({ scrollTop: $("#LabelError").offset().top }, 500);
         $("#LabelError").focus();
      });
    
      var target = document.querySelector('#LabelError');
      observer.observe(target, {
          attributes: true
      });
    
    });
    

    【讨论】:

      猜你喜欢
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      相关资源
      最近更新 更多