使用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 Autocomplete自动完成插件
Jul 17 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
Oct 29 Javascript
深入理解javaScript中的事件驱动
May 21 Javascript
connection reset by peer问题总结及解决方案
Oct 21 Javascript
原生JS简单实现ajax的方法示例
Nov 29 Javascript
Jquery EasyUI $.Parser
Jun 02 jQuery
浅谈react 同构之样式直出
Nov 07 Javascript
javascript实现循环广告条效果
Dec 12 Javascript
关于js陀螺仪的理解分析
Apr 11 Javascript
vue数据响应式原理知识点总结
Feb 16 Javascript
vscode+gulp轻松开发小程序的完整步骤
Oct 18 Javascript
Selenium执行JavaScript脚本的方法示例
Dec 31 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新手用的Insert和Update语句构造类
2012/03/31 PHP
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
PHP中的traits实现代码复用使用实例
2015/05/13 PHP
PHPMailer发送邮件
2016/12/28 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
浅析PHP开发规范
2018/02/05 PHP
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
javascript instanceof,typeof的区别
2010/03/24 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
高考考python编程是真的吗
2020/07/20 Python
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
元旦晚会活动总结
2014/07/09 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书