原生JS实现萤火虫效果
本文实例为大家分享了JS实现萤火虫效果的具体代码,供大家参考,具体内容如下
上代码之前,先看一下效果:
CSS部分(此处用元素模拟萤火虫,背景可自行设置):
JS部分:
最后需要引入一个运动函数:
原生JS封装:带有px的css属性、透明度、且可以运动的函数。
functionmove(ele,obj,cb){ clearInterval(ele.t); ele.t=setInterval(()=>{ vari=true; for(varattrinobj){ if(attr=="opacity"){ variNow=getStyle(ele,attr)*100; }else{ variNow=parseInt(getStyle(ele,attr)); } letspeed=(obj[attr]-iNow)/10; speed=speed<0?Math.floor(speed):Math.ceil(speed); //只要有一个属性没到目标:绝对不能清除计时器 if(iNow!==obj[attr]){ i=false; } if(attr=="opacity"){ ele.style.opacity=(iNow+speed)/100; }else{ ele.style[attr]=iNow+speed+"px"; } } if(i){ clearInterval(ele.t); if(cb){ cb(); } //cb&&cb(); } },30); } functiongetStyle(ele,attr){ if(ele.currentStyle){ returnele.currentStyle[attr]; }else{ returngetComputedStyle(ele,false)[attr]; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。