最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JS怎么做出雪花飘落动画

来源:动视网 责编:小采 时间:2020-11-27 19:49:16
文档

JS怎么做出雪花飘落动画

JS怎么做出雪花飘落动画:这次给大家带来JS怎么做出雪花飘落动画,JS做出雪花飘落动画的注意事项有哪些,下面就是实战案例,一起来看一下。<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta htt
推荐度:
导读JS怎么做出雪花飘落动画:这次给大家带来JS怎么做出雪花飘落动画,JS做出雪花飘落动画的注意事项有哪些,下面就是实战案例,一起来看一下。<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta htt
 这次给大家带来JS怎么做出雪花飘落动画,JS做出雪花飘落动画的注意事项有哪些,下面就是实战案例,一起来看一下。

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title> JS下雪动画</title>
 <meta name="description" content="">
 <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<style>
 .masthead {
 background-color:#333;
 display:block;
 width:100%;
 height:400px;
 }
</style>
<body>
<p class="masthead"></p>
<script>
 (function () {
 var COUNT = 300;
 var masthead = document.querySelector('.masthead');
 var canvas = document.createElement('canvas');
 var ctx = canvas.getContext('2d');
 var width = masthead.clientWidth;
 var height = masthead.clientHeight;
 var i = 0;
 var active = false;
 function onResize() {
 width = masthead.clientWidth;
 height = masthead.clientHeight;
 canvas.width = width;
 canvas.height = height;
 ctx.fillStyle = '#FFF';
 var wasActive = active;
 active = width > 600;
 if (!wasActive && active)
 requestAnimFrame(update);
 }
 var Snowflake = function () {
 this.x = 0;
 this.y = 0;
 this.vy = 0;
 this.vx = 0;
 this.r = 0;
 this.reset();
 };
 Snowflake.prototype.reset = function() {
 this.x = Math.random() * width;
 this.y = Math.random() * -height;
 this.vy = 1 + Math.random() * 3;
 this.vx = 0.5 - Math.random();
 this.r = 1 + Math.random() * 2;
 this.o = 0.5 + Math.random() * 0.5;
 };
 canvas.style.position = 'absolute';
 canvas.style.left = canvas.style.top = '0';
 var snowflakes = [], snowflake;
 for (i = 0; i < COUNT; i++) {
 snowflake = new Snowflake();
 snowflakes.push(snowflake);
 }
 function update() {
 ctx.clearRect(0, 0, width, height);
 if (!active)
 return;
 for (i = 0; i < COUNT; i++) {
 snowflake = snowflakes[i];
 snowflake.y += snowflake.vy;
 snowflake.x += snowflake.vx;
 ctx.globalAlpha = snowflake.o;
 ctx.beginPath();
 ctx.arc(snowflake.x, snowflake.y, snowflake.r, 0, Math.PI * 2, false);
 ctx.closePath();
 ctx.fill();
 if (snowflake.y > height) {
 snowflake.reset();
 }
 }
 requestAnimFrame(update);
 }
 // shim layer with setTimeout fallback
 window.requestAnimFrame = (function(){
 return window.requestAnimationFrame ||
 window.webkitRequestAnimationFrame ||
 window.mozRequestAnimationFrame ||
 function( callback ){
 window.setTimeout(callback, 1000 / 60);
 };
 })();
 onResize();
 window.addEventListener('resize', onResize, false);
 masthead.appendChild(canvas);
 })();
</script></body></html>

使用本站HTML/CSS/JS在线运行测试工具:http://tools.jb51.net/code/HtmlJsRun,可得到如下测试运行效果:

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

Vue.js双向绑定实现步骤说明

Vue+canvas实现移动端手写板步骤详解

文档

JS怎么做出雪花飘落动画

JS怎么做出雪花飘落动画:这次给大家带来JS怎么做出雪花飘落动画,JS做出雪花飘落动画的注意事项有哪些,下面就是实战案例,一起来看一下。<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta htt
推荐度:
标签: 动画 js 效果
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top