js canvas滚动数字
准备一张图片

html代码
<!-- canvas的宽高应等于一个数字的宽高 -->
<canvas id="canvas" width="33" height="48"></canvas>
<button onclick="numScroll(3)">点3</button>
js代码
function numScroll(num) {
var img = new Image();
img.src = "./number1.png";
img.onload =function(){
console.log("i'm work");
var canvas = document.querySelector("#canvas");
var ctx =canvas.getContext('2d');
var imgtimer =0;
var timer = requestAnimationFrame(function t1(){
if (timer<40) {
imgtimer = imgtimer+58;
if (imgtimer>58*num) {
imgtimer =0;
}
ctx.clearRect( 0, 0, canvas.width, canvas.height );
ctx.drawImage(img,0,-imgtimer);
timer =requestAnimationFrame(t1)
}else{
ctx.drawImage(img,0,-58*num);
cancelAnimationFrame(timer);
}
});
};
}
效果图
