首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JS中忽略event.acceleration的减速?

如何在JS中忽略event.acceleration的减速?
EN

Stack Overflow用户
提问于 2014-06-26 06:20:27
回答 1查看 117关注 0票数 0

我正在尝试让一个事件在手机第一次开始移动时发生。这可以很好地触发。然而,我遇到了一个问题:减速的测量方法类似于加速度。当我停止移动设备时,我看到另一个峰值。对如何忽略第二个峰值有什么建议吗?

下面的代码让我大吃一惊。当我第一次移动手机和停止移动它的时候。我只想要第一个动作的扳机。我得到了相关的函数和这里定义的大多数变量。不是脚本的全部范围,而是此功能的所有部分。

代码语言:javascript
复制
var elmt = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
var acceleration = eventData.acceleration;
var speed = 0;
speed = round(acceleration.y);
elmt.splice(0,1);
elmt.push(speed);
speedSmoothed=elmt.average();
                                          //Rounding function
function round(val) {
  var amt = 10;
  return Math.round(val * amt) /  amt;
}
                                        //Averaging function for the array
Array.prototype.average=function(){
var sum=0;
var j=0;
for(var i=0;i<this.length;i++){
    if(isFinite(this[i])){
      sum=sum+parseFloat(this[i]);
       j++;
      }
    }
if(j===0){
    return 0;
  }else{
      return sum/j;
   }
  }
                                            //trigger
if (speedSmoothed>1.5){
    console.log("Huzzah!");
   }
EN

回答 1

Stack Overflow用户

发布于 2014-06-26 08:35:07

思考了几个小时后,我变得有点诡计多端了。足够让它像我想要的那样可靠地运行。

代码语言:javascript
复制
if (speedSmoothed>1.5 && elmt[0]>elmt[4]){
 console.log("Huzzah!");
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24419560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档