【发布时间】:2021-04-15 22:16:00
【问题描述】:
我的网站上有这样的功能:
$("#search-label").on("keypress", function(e) {
if(e.which == 13) {
$('html, body').animate({
scrollTop: $("#content").offset().top
}, 2000);
}
});
它的任务是回车后滚动到选中的元素,效果很好,但问题是短时间内重复调用会卡住。
如何限制每 10 秒调用一次的可能性?
谢谢
【问题讨论】:
-
搜索“去抖动”。
-
"使用 10 秒而不是 2 秒" 这是倒带时间,而不是调用函数之间的暂停
-
我认为您正在寻找节流,我会推荐 lodash 的
throttle函数:lodash.com/docs/4.17.15#throttle - 或查看此问题以获得没有依赖关系的解决方案:stackoverflow.com/questions/27078285/simple-throttle-in-js -
为什么
html在查询选择器中?这似乎有点倒退。
标签: javascript html jquery