jquery - 无法使用 Jquery animate 函数实现平滑滚动
问题描述
伙计们,我正在尝试借助 JQuery 在我的网页上实现平滑滚动功能。
每当我单击导航项时,页面应该滚动到特定部分。但这并没有发生。
这是我的 index.js 代码
$("#navbar a, .btn").on("click", function (event) {
if (this.hash != "") {
event.preventDefault();
const hash = this.hash;
$("html", "body").animate(
{
scrollTop: $(hash).offset().top - 100,
},
800
);
}
});
这是该网站的链接,请尝试单击任何导航项并查看。 https://umakanth-pendyala.github.io/Edge-Ledger/
这是我的仓库的链接 https://github.com/umakanth-pendyala/Edge-Ledger.git
任何帮助,将不胜感激。谢谢
解决方案
让它运行顺畅的一个简单方法是将毫秒设置为 0 而不是 800,然后将scroll-behavior: smooth;
属性添加到html
标签中。
html {scroll-behavior: smooth;}
推荐阅读
- java - 如何以毫秒为单位显示构建时间?(JAVA)
- docker - docker-compose 文件构建上下文解释
- ip - 如何获得多个公网IP?
- pine-script - 如何像 vwap 一样让指标重置每个会话?Vwap 但它的中位数而不是平均值
- javascript - 尝试制作自定义可变背景
- bash - 通过 awk 命令传递的变量
- docker-image - 如何防止 microk8s.ctr 驱逐离线环境中的图像缓存?
- maven - mvm quarkus:dev 现在有命令行交互界面我怎么能把它关掉?
- python - 如何最大限度地减少 Psychopy 中的事件轮询引起的延迟?
- sql - 尝试根据插入时间更新 SQL Server 中的列值并获取“列“ID”被多次指定为“p””