html自定义动画让元素下落,jQuery实现的模仿雨滴下落动画效果

本文实例讲述了jQuery实现的模仿雨滴下落动画效果。分享给大家供大家参考,具体如下:

效果如图:

50faa2d887416859db6d2c3f7129dfb2.gif

实现思路:定时器每隔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

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='

$("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来实现。

感兴趣的朋友可以使用如下工具测试上述代码运行效果:

希望本文所述对大家jQuery程序设计有所帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值