我编写了这段代码(我学习的时候),它每次测量每分钟跳动次数,因为每次他/她感觉到一个脉冲时单击鼠标左键。点击10次后,js代码将获取数组中的所有值并计算平均BPM。如何让我的JS代码在用完后再次启动'新鲜'?
之后,你可以再次开始点击,如果让你说你想再次去。但问题是,代码继续基于以前的值。我怎样才能做到这一点,以便在10次点击后,您可以再次使用新测量开始“新鲜”?
//Eigen stukje JS -- Hartmeting Tool//
//Initial Variables
var timeLastClick = 0;
var bpm = 0;
//My list
var beats = [];
var average = 0;
var count = 0;
var klik_Hart = document.getElementById("klik_Hart");
//obtain time of last click.
$(klik_Hart).on('click', function() {
var tapSeconds = new Date().getTime();
//calculate difference Beats Per Minute.
bpm = ((1/((tapSeconds - timeLastClick)/1000)) * 60);
timeLastClick = tapSeconds;
//show image of an heart while clicking.
klik_Hart.innerHTML = '<h1 style="display:inline;margin-left:40%;">' + Math.floor(bpm);
//Throw values in beats list.
beats.push(Math.floor(bpm));
average *= count; //average = average * count
average += Math.floor(bpm); //average = average + count
count++; //count on.
average /= count; //average = average/count
//If the list contains 10 values, give pop-up displaying measured values and average.
if(beats.length >= 10) {
//pop up van gemeten resultaten en de gemiddelde hartslag.
alert("The measured values are: \n\n" + beats + "\n\nUw average heartrate is:\n\n" + average+" bpm");
}
});
.heart{
color:#FBF9FF;
background-image: url("http://placehold.it/350x150");
background-size: 150px 150px;
height: 150px;
width: 150px;
}
.heart:hover{
color: #FFA07A;
background-color: grey;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="klik_Hart" class="heart"></div>
我怎样才能有效地解决这个问题?
谢谢!我知道它。我试图只清空节拍清单昨天,但它的一半工作,所以我认为嗯也许不是空的一切。但很高兴知道我很接近。谢谢! – user7186746