根據我的代碼,當我計數達到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