相思资源网 Design By www.200059.com
本文实例讲述了jQuery实现的模仿雨滴下落动画效果。分享给大家供大家参考,具体如下:
效果如图:
实现思路:定时器每隔x秒生成宽高、下落速度(即动画执行时间)、left随机的div。
1.CSS:
body{
overflow: hidden;/*这是为了防止出现滚动条*/
}
.com{
border-radius: 0 50% 50% 50%;
background: skyblue;
transform: rotate(45deg);
position: absolute;
top: 0;
}
2.JS:
$(function(){
var obj={
maxW:100,//最大宽度
minW:10,//最小宽度
maxSpeed:10000,//最大速度,单位ms
creat:400//创建雨滴个数的快慢,单位ms
}
rain(obj)
})
function rain(obj){
var maxW=obj.maxW;
var minW=obj.minW;
var maxSpeed=obj.maxSpeed;
var time=obj.creat;
var maxLeft=$(window).width();
var time1;
var j=0;
time1=setInterval(function(){
var width=Math.random()*maxW;//随机宽度
width=width.toFixed(2);
if(width<minW){
width=minW;
}
var left=Math.random()*maxLeft-width;//随机left值
left=left.toFixed(2);
if(left<0){
left=0;
}
j++;
var speed=Math.random()*maxSpeed;//随机速度
var item='<div class="com rain'+j+'" style="left:'+left+'px;width:'+width+'px;height:'+width+'px"></div>';//创建雨滴
$("body").append(item);
move($(".rain"+j),speed);//雨滴移动
},time)
}
function move(op,speed){
var winH=$(window).height();
var maxH=winH+op.height();//雨滴下落的高度,页面高度加上自身高度就能看到完全落到最底部
op.animate({
"top":maxH+"px"
},speed,function(){
op.remove();//删除该雨滴
});
}
本来最开始想计算雨滴left和下落高度的最大值,以免出现滚动条,但是后来想直接body加个overflow:hidden不是更好么,省去多余的代码,效果还一样。
除了用JS实现,还可以用canvas来实现。
感兴趣的朋友可以使用如下工具测试上述代码运行效果:
在线HTML/CSS/JavaScript代码运行工具:
http://tools.jb51.net/code/HtmlJsRun
在线HTML/CSS/JavaScript前端代码调试运行工具:
http://tools.jb51.net/code/WebCodeRun
更多关于jQuery相关内容还可查看本站专题:《jQuery动画与特效用法总结》、《jQuery切换特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无jQuery实现的模仿雨滴下落动画效果的评论...
