【问题标题】:Scroll to id in pages with datatables doesn't work滚动到带有数据表的页面中的 id 不起作用
【发布时间】:2017-06-04 22:33:16
【问题描述】:

这里http://files.giro54.net/fede/table-anchor/link-src.html 我有一个包含两个链接的页面,第一个链接到一个包含由 datatables 插件生成的五个表的页面,第二个链接到一个简单的静态 html 也包含五个表。两个链接都指向目标页面中的第 5 个表。第二个链接按预期工作:它滚动到静态 html 上的第 5 个表。但是第一个链接根本不滚动。

我花了几个小时试图解决这个问题。 :( 谢谢。

【问题讨论】:

    标签: jquery datatables


    【解决方案1】:

    为什么会这样?

    默认情况下,静态 html 页面的滚动是自动的(这可能是浏览器问题)。这个问题有几个修复,我会让你决定哪个最适合解决这个问题:

    我该如何解决这个问题?

    正如 JQuery 的这个问题在默认情况下并没有自行解决,你可以动态地解决它(就像我们可以用 JS/JQ 做的所有其他事情一样):

    1. 在您的 $document.ready 中包含以下内容:

    $window.scrollTo(0,document.body.scrollHeight);
    

    2.抓住你想要的元素,放到视口中:

    $document.getElementById( 'bottom' ).scrollIntoView();
    

    如前所述,有几种方法可以解决这个问题,问题在于 JQuery 与静态以及如何将其提供给所选浏览器,这些微调参数设置为在某些浏览器中默认,而在其他浏览器中则没有。

    PS:明智的说法,不要发布指向您网站的链接,只发布图片和代码 sn-ps。这可能会妨碍您将来从其他人那里获得答案。

    【讨论】:

    • 感谢@bmc 的回答。我尝试了 jquery 选项,但现在我在控制台中收到警报“$window 未定义”。
    • 我不确定您是如何尝试使用 $window 的,但语法看起来很多 like this,类似于 $(document).ready 语法。
    • 对不起,我没有太多 jQuery 技能。 $(document).ready(function() { $window.scrollTo(0,document.body.scrollHeight); });
    • 我仍然有这个问题。 $window.scrollTo(0,document.body.scrollHeight);在 $document.ready 中抛出“Uncaught ReferenceError: $window is not defined”。我更新了链接测试html。
    • 可能你可以尝试 Jquery 等效项:$(window).scrollTo( ... )
    猜你喜欢
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2021-12-05
    • 2013-09-17
    • 2018-08-07
    • 2012-03-28
    相关资源
    最近更新 更多