JavaScript防抖案例讲解

发布时间:2022-04-16 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JavaScript防抖案例讲解脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

原理

抖的原理是:你尽管触发事件,但是我一定要在事件触发n秒之后才执行,如果你在一个事件触发的n秒内又触发了这个事件,那我就以新的事件的时间为准,n秒后再执行。总之,就是要等到你触发完事件n秒内不再触发事件,我才执行。

案例

<!DOCTYPE htML>
<html lang="zh-cmn-Hans">
<head>
    <;meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="IE=Edge, chrome=1">
    <tITle>debounce</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        #container {
            width: 100%;
            height: 200px;
            line-height: 200px;
            text-align: center;
            color: #fff;
            background-color: #444;
            font-Size: 30px;
        }
    </style>
</head>
<body>
    <div id="container"></div>
    <script src="debounce.js"></script>
</body>
</html>
function getUserAction(e) {
    console.LOG(this);
    console.log(e);
    container.innerHTML = count++;
};
function debounce(func, wait) {
    VAR timeout;
    return function () {
        clearTimeout(timeout);
        timeout = setTimeout(() => {
            func.apply(this, arguments);    // 解决this和事件对象event
        }, wait);
    }
}
container.onmouSEMove = debounce(getUserAction, 1000);

到此这篇关于JavaScript防抖案例讲解文章就介绍到这了,更多相关JavaScript防抖内容请搜索脚本宝典以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本宝典!

脚本宝典总结

以上是脚本宝典为你收集整理的JavaScript防抖案例讲解全部内容,希望文章能够帮你解决JavaScript防抖案例讲解所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。