使用snowfall.jquery.js实现爱心满屏飞的效果


Posted in Javascript onJanuary 05, 2017

小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果。

第一步:

         利用伪元素before和 :after画两个重叠在一起的长方形,如图所示:

使用snowfall.jquery.js实现爱心满屏飞的效果

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title></title>
 <style media="screen">
  body {
   overflow-y: hidden;
  }
  .heart-body {
   width: 500px;
   margin: 100px auto;
   position: relative;
  }
  .snowfall-flakes:before,
  .snowfall-flakes:after {
   content: "";
   position: absolute;
   left: 0px;
   top: 0px;
   display: block;
   width: 30px;
   height: 46px;
   background: red;
   border-radius: 50px 50px 0 0;
  }
 </style>
</head>
<body>
 <div class="heart-body">
  <div class="snowfall-flakes"></div>
 </div>
</body>
</html>

第二步:

        利用 transform  属性将两个两个伪元素分别旋转负45度、45度,如图所示:

使用snowfall.jquery.js实现爱心满屏飞的效果       

.snowfall-flakes:before {
   -webkit-transform: rotate(-45deg);
   /* Safari 和 Chrome */
   -moz-transform: rotate(-45deg);
   /* Firefox */
   -ms-transform: rotate(-45deg);
   /* IE 9 */
   -o-transform: rotate(-45deg);
   /* Opera */
   transform: rotate(-45deg);
  }
  .snowfall-flakes:after {
   -webkit-transform: rotate(45deg);
   /* Safari 和 Chrome */
   -moz-transform: rotate(45deg);
   /* Firefox */
   -ms-transform: rotate(45deg);
   /* IE 9 */
   -o-transform: rotate(45deg);
   /* Opera */
   transform: rotate(45deg);
  }

第三步:

         利用 left 属性,将伪元素 after 向左偏移一定像素,使两个微元素部分重叠,组成爱心样子,如图所示:

使用snowfall.jquery.js实现爱心满屏飞的效果    

.snowfall-flakes:after {
   left: 13px;
   -webkit-transform: rotate(45deg);
   /* Safari 和 Chrome */
   -moz-transform: rotate(45deg);
   /* Firefox */
   -ms-transform: rotate(45deg);
   /* IE 9 */
   -o-transform: rotate(45deg);
   /* Opera */
   transform: rotate(45deg);
  }

爱心我们画完了,那么怎么让爱心实现满屏飞呢,其实只需要调用jquery.js和 snowfall.jquery.js就能实现,效果图如下:

使用snowfall.jquery.js实现爱心满屏飞的效果

代码如下:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title></title>
 <style media="screen">
  body {
   overflow: hidden;
  }
  .heart-body {
   width: 500px;
   margin: 100px auto;
   position: relative;
  }
  .snowfall-flakes:before,
  .snowfall-flakes:after {
   content: "";
   position: absolute;
   left: 0px;
   top: 0px;
   display: block;
   width: 30px;
   height: 46px;
   background: red;
   border-radius: 50px 50px 0 0;
  }
  .snowfall-flakes:before {
   -webkit-transform: rotate(-45deg);
   /* Safari 和 Chrome */
   -moz-transform: rotate(-45deg);
   /* Firefox */
   -ms-transform: rotate(-45deg);
   /* IE 9 */
   -o-transform: rotate(-45deg);
   /* Opera */
   transform: rotate(-45deg);
  }
  .snowfall-flakes:after {
   left: 13px;
   -webkit-transform: rotate(45deg);
   /* Safari 和 Chrome */
   -moz-transform: rotate(45deg);
   /* Firefox */
   -ms-transform: rotate(45deg);
   /* IE 9 */
   -o-transform: rotate(45deg);
   /* Opera */
   transform: rotate(45deg);
  }
 </style>
</head>
<body>
 <script src="js/jquery.js" type="text/javascript"></script>
 <script src="js/snowfall.jquery.js"></script>
 <script>
  //调用飘落函数 实现飘落效果
  $(document).snowfall({
   flakeCount: 50 //爱心的个数
  });
 </script>
</body>
</html>

其实小颖觉得爱心画小一点比较好看,上面画那么大其实是为了方便大家看爱心更明显一些,小颖把爱心画小后,就好看多了,效果图如下:

使用snowfall.jquery.js实现爱心满屏飞的效果

小的爱心,需改变以下属性的值: 

.snowfall-flakes:before,
  .snowfall-flakes:after {
   width: 10px;
   height: 16px;
   border-radius: 10px 10px 0 0;
  }
  .snowfall-flakes:after {
   left: 4px;
  }

以上所述是小编给大家介绍的使用snowfall.jquery.js实现爱心满屏飞效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
Jun 18 Javascript
javascript window.confirm确认 取消对话框实现代码小结
Oct 21 Javascript
中文字符串截取的js函数代码
Apr 17 Javascript
利用jquery写的左右轮播图特效
Feb 12 Javascript
JS实现控制表格行文本对齐的方法
Mar 30 Javascript
使用AngularJS创建自定义的过滤器的方法
Jun 18 Javascript
Javascript动画效果(1)
Oct 11 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
Dec 14 Javascript
BootStrap的双日历时间控件使用
Jul 25 Javascript
Echarts基本用法_动力节点Java学院整理
Aug 11 Javascript
vue组件实现移动端九宫格转盘抽奖
Oct 16 Javascript
解决elementui表格操作列自适应列宽
Dec 28 Javascript
jQuery实现动态文字搜索功能
Jan 05 #Javascript
JS实现HTML标签转义及反转义
Apr 14 #Javascript
jQuery基于ajax操作json数据简单示例
Jan 05 #Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
Jan 05 #Javascript
如何提高Dom访问速度
Jan 05 #Javascript
AngularJS中run方法的巧妙运用
Jan 04 #Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
Jan 04 #Javascript
You might like
限制ckeditor上传图片文件大小的方法
2013/11/15 PHP
PHP中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
PHP应用跨时区功能的实现方法
2019/03/21 PHP
JS OOP包机制,类创建的方法定义
2009/11/02 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
2015/10/24 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
Vue.js开发环境快速搭建教程
2017/03/17 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
2018/09/04 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
python获取当前目录路径和上级路径的实例
2018/04/26 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
python 图像平移和旋转的实例
2019/01/10 Python
python lambda函数及三个常用的高阶函数
2020/02/05 Python
python实现堆排序的实例讲解
2020/02/21 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
求职信格式范本
2013/11/15 职场文书
大学生工作自荐书
2014/06/16 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
2014年文员工作总结
2014/11/18 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
Mysql忘记密码解决方法
2022/02/12 MySQL