首页 > 解决方案 > jquery scrolltop 仅适用于 jquery < 3.0.0

问题描述

我正在使用来自http://jedfoster.com的 readmore.js 的最新版本(2.2.1),并且我的 affterToggle 中的 scrollTop 功能仅在我使用的 jquery 小于 3.0.0 版本时才有效。所以jquery 2 .. 和 1. . 工作正常。

我用谷歌搜索,但我没有发现 scrollTop 和 jquery 3 有什么特别之处。

  $('#text').readmore({
    speed: 75,
    moreLink: '<a href="#">read more</a>',
    lessLink: '<a href="#">close</a>',
    collapsedHeight: 60,
    afterToggle: function(trigger, element, expanded) {
      if (!expanded) { // The "Close" link was clicked
        $('html, body').animate({ scrollTop: $("#top").offset().top }, 100);
      }
    }
  });

https://jsfiddle.net/0djenaxh/5/

将 jquery 版本更改为 1 或 2 并且它可以工作......谁能告诉我为什么这不适用于 jquery 3?

问候

标签: javascriptjqueryscrolltop

解决方案


jQuery scrollTop 适用于所有 jQuery 版本(您可以在此处使用不同的 jQuery 版本测试 scrollTop:http: //jsfiddle.net/rdayptu8/3/

根据您的代码,afterTogglereadmore.js 中的方法不会在最新版本的 jQuery 中被调用/涉及。肯定是最新的 jQuery 版本不支持 readmore.js 库。


推荐阅读