是否可以使用平滑滚动来锚定链接但 没有 jQuery
?我正在创建一个新站点,我不想使用 jQuery
。
原文由 drozdzynski 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否可以使用平滑滚动来锚定链接但 没有 jQuery
?我正在创建一个新站点,我不想使用 jQuery
。
原文由 drozdzynski 发布,翻译遵循 CC BY-SA 4.0 许可协议
扩展这个答案: https ://stackoverflow.com/a/8918062/3851798
在定义了你的 scrollTo 函数之后,你可以在函数中传递你想要滚动到的元素。
function scrollTo(element, to, duration) {
if (duration <= 0) return;
var difference = to - element.scrollTop;
var perTick = difference / duration * 10;
setTimeout(function() {
element.scrollTop = element.scrollTop + perTick;
if (element.scrollTop === to) return;
scrollTo(element, to, duration - 10);
}, 10);
}
如果你有一个 id=“footer” 的 div
<div id="footer" class="categories">…</div>
在您运行滚动的脚本中,您可以运行它,
elmnt = document.getElementById("footer");
scrollTo(document.body, elmnt.offsetTop, 600);
你有它。没有 jQuery 的平滑滚动。实际上,您可以在浏览器的控制台上使用该代码,并根据自己的喜好对其进行微调。
原文由 Tejas Anil Shah 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
使用此处的函数: JavaScript animation 并修改它以修改属性(不仅是样式的属性),您可以尝试这样的事情:
演示:http: //jsfiddle.net/7TAa2/1/
只是说…