jQuery实现的模仿雨滴下落动画效果

 更新时间:2018年12月11日 09:07:29   作者:站住,别跑  
这篇文章主要介绍了jQuery实现的模仿雨滴下落动画效果,涉及jQuery结合时间函数动态修改页面元素属性相关操作技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • jQuery实现的移动端图片缩放功能组件示例

    jQuery实现的移动端图片缩放功能组件示例

    这篇文章主要介绍了jQuery实现的移动端图片缩放功能组件,结合实例形式详细分析了jQuery基于移动端的图片缩放功能组件实现原理、步骤、核心代码及使用技巧,需要的朋友可以参考下
    2020-05-05
  • 父页面显示遮罩层弹出半透明状态的dialog

    父页面显示遮罩层弹出半透明状态的dialog

    本文为大家介绍下父页面显示遮罩层,弹出半透明状态的dialog。dialog即弹出的子页面,需要的朋友可以参考下
    2014-03-03
  • jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】

    jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】

    这篇文章主要介绍了jQuery实现的鼠标拖动画矩形框,结合实例形式分析了jQuery基于事件响应及页面元素属性动态操作实现的图形绘制相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • jQuery控制TR显示隐藏的三种常用方法

    jQuery控制TR显示隐藏的三种常用方法

    第一种方法是使用id,第二种方法是使用$.each(),第三种方法是通过属性筛选器,还有很多,大家自家挖掘吧
    2014-08-08
  • jquery解析json格式数据的方法(对象、字符串)

    jquery解析json格式数据的方法(对象、字符串)

    这篇文章主要介绍了jquery解析json格式数据的方法,包括针对json对象及json字符串的解析技巧,并附带了完整的jQuery解析json数据示例,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • jQuery中outerHeight()方法用法实例

    jQuery中outerHeight()方法用法实例

    这篇文章主要介绍了jQuery中outerHeight()方法用法,实例分析了outerHeight()方法的功能、定义及获取第一个匹配元素外部高度的使用技巧,需要的朋友可以参考下
    2015-01-01
  • JQuery与Ajax常用代码实现对比

    JQuery与Ajax常用代码实现对比

    JQuery与Ajax常用代码实现对比,大家可以看下,根据实际情况选用。
    2009-10-10
  • jQuery实现商品活动倒计时

    jQuery实现商品活动倒计时

    这篇文章主要介绍了jQuery实现商品活动倒计时,倒计时在WEB上应用非常广泛,如考试系统倒计时,团购网站中的优惠活动倒计时等等,感兴趣的小伙伴们可以参考一下
    2015-10-10
  • jQuery ajax serialize() 方法使用示例

    jQuery ajax serialize() 方法使用示例

    serialize() 方法创建以标准 URL 编码表示的文本字符串,下面为大家介绍下jQuery serialize方法的使用
    2014-11-11
  • jQuery实现轮播图效果demo

    jQuery实现轮播图效果demo

    这篇文章主要为大家详细介绍了jQuery实现轮播图效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01

最新评论