根据我的代码,当我计数达到60%时,应该停止,但计数器将继续计数超过60%。我应该停止在60%,但我相信永远!我该怎么做才能解决这个问题?setInterval()函数不起作用
var i = 0;
function counter(tag_name, precent, varname) {
i++;
$(tag_name).html(i + "%");
if (i == precent) clearInterval(varname);
}
var p1 = setInterval(function() {
counter("#p1", 60, p1);
}, 50);
var p2 = setInterval(function() {
counter("#p2", 60, p2);
}, 50);
var p3 = setInterval(function() {
counter("#p3", 60, p3);
}, 50);
div {
border:solid 1px black;
margin:1px;
width:50px;
height:30p;
float:left;
}
#m1, #m2, #m3 {
width:200px;
height:60px;
float:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="m1">
<div id="b1">d1</div>
<div id="p1">%</div>
</div>
<div id="m2">
<div id="b2">d2</div>
<div id="p2">%</div>
</div>
<div id="m3">
<div id="b3">d3</div>
<div id="p3">%</div>
</div>
使用> =百分比,而不是==%的拨弄,它第二后辊接管和第三个副本命中... – dandavis 2014-10-29 08:50:50
问题是,你使用1个变量I,并且你称它为3次,这就是为什么你会得到60,61和62的结果。 – Nick 2014-10-29 09:00:56