加速传感器摇一摇老是检测到摇了两次,怎么能让它在1s内一次有效

摇一摇效果,摇了一次,手机加速传感器检测到两次,如何解决使得它在1s内一次有效,大神求指点

阅读 6k
4 个回答

简单点的使用 setTimeout,如

function () {
    var tid = 0;
    return function () {
        if (tid) return;
        tid = setTimeout(function () {
            tid = 0;
        }, 1000);

        // dosomething
    };
}

或者直接使用类似 lo-dash 的 _.throttle 函数。

请查询节流函数

之前回答过一个问题 感觉类似 给题主贴上地址
去抖与节流

检测到第一次摇的时候执行操作并添加一个计时器。
一秒以内再次检测到摇动时把这次摇动忽略掉,并且清掉计时器。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题