最新文章专题视频专题问答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
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript实现下雨效果的实例分享

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

javascript实现下雨效果的实例分享

javascript实现下雨效果的实例分享:一直都想写一个下雨的效果,可是无论是时间上,还是从自身来说,都本能的去躲避,没有太多正面面对的勇气,即使这个效果也不难实现。看来,在的历程上,还需要更进一步加强才行。由于采用的是很简单的方法,代码也没几行,思路实现了下,代码主要话,主要
推荐度:
导读javascript实现下雨效果的实例分享:一直都想写一个下雨的效果,可是无论是时间上,还是从自身来说,都本能的去躲避,没有太多正面面对的勇气,即使这个效果也不难实现。看来,在的历程上,还需要更进一步加强才行。由于采用的是很简单的方法,代码也没几行,思路实现了下,代码主要话,主要


一直都想写一个下雨的效果,可是无论是时间上,还是从自身来说,都本能的去躲避,没有太多正面面对的勇气,即使这个效果也不难实现。看来,在的历程上,还需要更进一步加强才行。由于采用的是很简单的方法,代码也没几行,思路实现了下,代码主要话,主要是采用的canvas不停随机绘制,形成不断下雨的视觉效果:

(function(){
 var canvas = document.getElementById_x('canvas');
 var ctx = canvas.getContext('2d');
 var w = document.documentElement.offsetWidth;
 var h = document.documentElement.offsetHeight;
 var x = 0, y = 0,len = 200,angle = -2,count = 100;
 var rainTimer = null,drawTimer = null;
 //线条颜色
 var color = ctx.createLinearGradient(0,0,0,len);
 color.addColorStop(0,'purple');
 color.addColorStop(1,'rgba(255,255,255,0.2)');
 //ctx.strokeStyle = 'rgba(255,255,255,0.2)';
 ctx.strokeStyle = color;
 function drawRain(x,y)
 { 
 //每次绘制渐变线条 都需要找到坐标
 var color = ctx.createLinearGradient(x,y,x+angle,y+len);
 //color.addColorStop(0,'rgba(254,139,199,0.3)');
 color.addColorStop(0,'rgba(0,0,0,0.1');
 color.addColorStop(1,'rgba(255,255,255,0.2)');
 ctx.strokeStyle = color;
 ctx.beginPath()
 ctx.moveTo(x,y);
 ctx.lineWidth=1;
 ctx.lineTo(x + angle,y+len);
 ctx.stroke();
 }
 
 //绘制满屏的雨滴
 function fullWindowRain()
 { 
 var i = 0;
 for(i = 0;i < count; i++)
 {
 drawRain(w*Math.random(),h*Math.random());
 }
 }
 //改变大雨或者小雨
 function changeRain()
 {
 rainTimer = setInterval(function(){
 count = Math.ceil(500 + 100 * Math.random());
 },2000);
 }
 changeRain();
 reDraw();
 //重绘的频率
 function reDraw()
 {
 drawTimer = setInterval(function(){
 ctx.clearRect(0,0,w,h+200);
 fullWindowRain();
 },100);
 }
})();

注意:其中需要注意的每次绘制的都需要再次创建渐变色,因为创建渐变色需要坐标值。

当然,在正常的情况时需要创建几个变量俩实现对雨滴的的 雨滴角度,雨滴长度,雨滴数量等。

相关推荐:

js中下雨效果如何使用?总结下雨效果实例用法

javascript实现下雨效果的图文代码详解

javascript制作网页图片上实现下雨效果_javascript技巧

文档

javascript实现下雨效果的实例分享

javascript实现下雨效果的实例分享:一直都想写一个下雨的效果,可是无论是时间上,还是从自身来说,都本能的去躲避,没有太多正面面对的勇气,即使这个效果也不难实现。看来,在的历程上,还需要更进一步加强才行。由于采用的是很简单的方法,代码也没几行,思路实现了下,代码主要话,主要
推荐度:
标签: 分享 特效 实现
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top