前言
与以往切割字符串完成无限计数不同,我是利用纯数学算法完成的无限计数,效率相对较高,非常实用,但逻辑性较强,源码下面有详细的解释说明,希望能够帮到大家,代码如下:
源码
//声明变量记录分数
var count = 0;
//没多一位创建一个img
var creatImg = 1;
//新创建的img
var img2;
var img1=[];
//判断并加分
if(left == 0) {
//得分
count++;
while(count /creatImg >=10) {
creatImg *= 10;
img2=document.createElement("img");
score.appendChild(img2);
img1.push(img2);
}
var count1 = Math.floor(count / creatImg );
scoreCount.src = "img/" + count1 + ".jpg";
var countB=1;
for(var i=0;i<img1.length;i++){
var countA=count;
countA=countA%(creatImg/countB);
countB*=10;
img1[i].src = "img/" +Math.floor(countA / (creatImg / countB)) + ".jpg";
}
}
解释说明
//声明变量记录分数
var count = 0;
//没多一位创建一个img
var creatImg = 1;
//新创建的img
var img2;
var img1=[];
//得分
count++;
//判断分数有多少位
while(count /creatImg >=10) {
creatImg *= 10;
img2=document.createElement("img");
score.appendChild(img2);
img1.push(img2);
}
//由于最少有一位,先创建一个img放置首位数字图片计数
var count1 = Math.floor(count / creatImg );
//根据图片路径选择对应数字图片(如img/0.jpg)
scoreCount.src = "img/" + count1 + ".jpg";
//声明变量用来递乘10,
var countB=1;
//为第二位及后面的位数创建img放置数字图片计数
for(var i=0;i<img1.length;i++){
//声明变量接收分数count
var countA=count;
//依次取余去掉每次的首位
countA=countA%(creatImg/countB);
//每次乘十,用于countA依次取余
countB*=10;
//Math.floor(countA / (creatImg / countB))用来取出首位,并取整找寻对应数字图片路径
//根据图片路径选择对应数字图片(如img/1.jpg)
img1[i].src = "img/" +Math.floor(countA / (creatImg / countB)) + ".jpg";
}
以上就是无限计数板的逻辑,不懂得可以留言问我,用split方法完成的无限计数板网上非常多就不在累述。