使用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 相关文章推荐
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
Sep 19 Javascript
JS实现标签页效果(配合css)
Apr 03 Javascript
js 日期比较相关天数代码
Apr 02 Javascript
jquery实现更改表格行顺序示例
Apr 30 Javascript
jQuery实现流动虚线框的方法
Jan 29 Javascript
JavaScript通过字典进行字符串翻译转换的方法
Mar 19 Javascript
BootStrap的table表头固定tbody滚动的实例代码
Aug 24 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
Dec 30 Javascript
解决循环中setTimeout执行顺序的问题
Jun 20 Javascript
Node.js学习教程之Module模块
Sep 03 Javascript
JavaScript实时更新当前的时间的示例代码
Jul 15 Javascript
使用JS实现简易计算器
Jun 14 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
用PHP实现多级树型菜单
2006/10/09 PHP
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
php时间戳转换的示例
2014/03/31 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
用JQuery实现全选与取消的两种简单方法
2014/02/22 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
[02:16]DOTA2超级联赛专访Burning 逆袭需要抓住机会
2013/06/24 DOTA
Python的类实例属性访问规则探讨
2015/01/30 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
Python 从相对路径下import的方法
2018/12/04 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
python线程安全及多进程多线程实现方法详解
2019/09/27 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
通过自学python能找到工作吗
2020/06/21 Python
Python操作Excel的学习笔记
2021/02/18 Python
LINUX下线程,GDI类的解释
2012/04/17 面试题
运动会广播稿400字
2014/01/25 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
2014年领导班子专项整治整改方案
2014/09/28 职场文书
爱心募捐感谢信
2015/01/22 职场文书
档案工作个人总结
2015/03/03 职场文书
个人求职意向书
2015/05/11 职场文书
筑梦中国心得体会
2016/01/18 职场文书
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫