在<button>上调用函数和onpage锚点

时间:2015-07-04 11:13:05

标签: javascript

我有一个javascript函数来计算一些东西,我需要启动它(调用函数)但同时我需要滚动到我有结果的位置。

我需要平滑滚动,所以我有一个单独的函数处理它。

我尝试了以下内容:

<button id="btn" onClick="calculate(); window.location='#results';">Calculate</button>

虽然它都计算AND滚动,但它不会激活我的平滑滚动功能,出于某种原因,只是硬/常规跳转到。

我使用此https://github.com/Yappli/smooth-scroll进行平滑滚动,将每个#link转换为平滑滚动。

我如何使这项工作?

我正在做这一切,没有jQuery,因为它需要超轻量级。

1 个答案:

答案 0 :(得分:0)

您可以修改Smooth-Scroll,以便查找类而不是a元素。

更改第19行:

links = document.getElementsByTagName('a'),

要:

links = document.getElementsByClassName('scroll-to'),

您可以同时执行这两项操作,但您需要合并两个HTMLCollection,如下所示:

links = document.getElementsByTagName('a'),
classes = document.getElementsByClassName('scroll-to'),
links = [].concat(Array.prototype.slice.call(links), Array.prototype.slice.call(classes));