一、效果图
二、直接上代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>canvas 垂直背景图滚动</title>
</head>
<body>
<canvas id="canvas" width="480" height="720">
你的浏览器不支持 canvas,请升级你的浏览器。
</canvas>
<script>
const canvas = document.getElementById('canvas')
let ctx = canvas.getContext("2d")
var offSetY = 0;
var image = new Image(); // 创建图片元素
image.onload = function(){
bgMove(image);
}
image.src = 'images/bg.jpg';
function bgMove() {
// 记录状态
ctx.save();
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.translate(0, offSetY);
ctx.drawImage(image, 0, 0);
ctx.drawImage(image, 0, -canvas.height);
// 判断offSetY偏移量
offSetY += 0.2;
if(offSetY >= canvas.height) {
offSetY = 0;
}
ctx.restore();
window.requestAnimationFrame(bgMove);
}
</script>
</body>
</html>
三、目录结构
图片可以在这里找背景图片地址
微信公众号【前端学馆】程序员IT编程书籍分享!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。