gopythoner 发表于 2018-1-5 13:37:50

这个js代码在不同版本的jQuery下运行效果不同,求解

<script>
//锚点平滑移动到指定位置
$('.toc a').click(function () {
    $('html, body').animate({
      scrollTop: $($.attr(this, 'href')).offset().top-55
      }, 500);
    return false;
});
</script>

代码就是这一段,就是一个事件,当点击a标签的时候,平滑的跳转到a锚点指向的id

我之前的jQuery版本是用的这个,<script src="https://cdn.bootcss.com/jquery/3.0.0/jquery.min.js"></script>也就是3.0.0,运行完全没问题,能达到我要的,
之后我换了一个cdn,是这个<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>,这是bootstrap4给的,是3.2.1版本,然后我发现这个函数不起作用了,一开始我一直都不知道怎么回事,后来换了jQuery才发现是这个的问题

所以,有人能给我解释一下,为什么这个函数在不同版本的jQuery下结果不同么,3.0.0能运行,3.2.1就不能?

不二如是 发表于 2018-1-5 13:37:51

$($.attr(this, 'href'))

这种用法,获取href里面的参数,我也是头一次看到。

是不是这里的问题?

bs4自带的cdn可以忽略,换成本地的或者官方提供的压缩版都可以

gopythoner 发表于 2018-1-5 17:10:10

不二如是 发表于 2018-1-5 14:55
这种用法,获取href里面的参数,我也是头一次看到。

是不是这里的问题?


我不知道怎么用的,这个还是我找了好久知道的满足我需要的一段代码,其实我就是要找一个实现锚点跳转的代码,
我已经换回3.0.0的版本了,没想到jQuery的版本不同还会有这种事情,感觉还是BS4存在bug吧

不二如是 发表于 2018-1-5 17:12:41

gopythoner 发表于 2018-1-5 17:10
我不知道怎么用的,这个还是我找了好久知道的满足我需要的一段代码,其实我就是要找一个实现锚点跳转的代 ...

是不是bug不好说,但是bs系列发布版,基本上是0bug

锚点跳转,最简单a标签,复杂些jq写个动态方法

gopythoner 发表于 2018-1-5 17:17:17

不二如是 发表于 2018-1-5 17:12
是不是bug不好说,但是bs系列发布版,基本上是0bug

锚点跳转,最简单a标签,复杂些jq写个动态方法

http://www.stopfollow.com/article/hello-markdown/
其实就是这个,右边的目录跳转效果,这个是我用bs3和3.0.0实现了,网页最下面那段js就是我发的,完全没问题,然后我这两天想试试bs4,于是发现了这个功能居然不行,我想了好久才想到会不是会jQuery的问题,于是把官方建议的那个改了就好了,官方给的那个3.2.1有问题
页: [1]
查看完整版本: 这个js代码在不同版本的jQuery下运行效果不同,求解