jquery+css3实现会动的小圆圈效果


Posted in Javascript onJanuary 27, 2016

本文实例讲述了jquery+css3实现会动的小圆圈效果。分享给大家供大家参考,具体如下:

运行效果截图如下:

jquery+css3实现会动的小圆圈效果

具体代码如下:

<!DOCTYPE html>
<html lang="zh-cn">
<head>
 <meta charset="utf-8" />
 <title>那些变换颜色的小豆豆</title>
 <script type="text/javascript" src="jquery.js"></script>
 <style type="text/css">
  h1{font-size:16px;}
  .circle
  {
   position:absolute;
   width:100px;
   height:100px;
   border-radius: 50px;
   -webkit-border-radius:50px;
   -moz-border-radius:50px;
   -o-border-radius:50px;
   -ms-border-radius:50px;
   border:1px solid #ddd;
   background-color:#eee;
   text-align:center;
   -moz-transition:background-color .5s ease-in;
   -webkit-transition:background-color .5s ease-in;
   -o-transition:background-color .5s ease-in;
   -ms-transition:background-color .5s ease-in;
   transition:background-color .5s ease-in;
  }
 </style>
 <script type="text/javascript" > 
  var colorArray = "ABCDEFabcdef1234567890".split('');
  function createCircle(position, size){
   var html = [];
   var radius = size.height > size.width ? size.height/2 : size.width / 2;
   var opacity = Math.random();
   opacity = opacity < 0.3 ? opacity = 0.3 : opacity;
   html.push('<div class="circle" style="left:'+position.left+'px; top:'+position.top+'px;');
   html.push('width:'+size.width+'px; height:'+size.height+'px; ');
   html.push('border-radius:'+radius+'px;');
   html.push('-webkit-border-radius:'+radius+'px;');
   html.push('-moz-border-radius:'+radius+'px;');
   html.push('-o-border-radius:'+radius+'px;');
   html.push('-ms-border-radius:'+radius+'px;');
   html.push('opacity:'+opacity+';');
   html.push('filter:alpha(opacity='+Math.round(opacity*100)+')');
   html.push('" ></div>');
   return html.join('');
  }
  function createColor(){
   var color = "";
   for(var i=0; i<6; i++) {
    color += colorArray[Math.ceil(Math.random()*21)];
   }
   return "#"+color;
  }
  function animate(obj){
   setInterval(function(){
    var position = obj.position();
    var left = parseInt(position.left);
    var top = parseInt(position.top);
    obj.css('background-color', createColor());
    obj.animate({'left': left + 5}, 250);
    obj.animate({'left': left - 5, 'top': top + 5}, 250);
    obj.animate({'top': top}, 250);
    obj.animate({'left': left, 'top': top}, 250);
   }, 1000);
  }
  $(document).ready(function(){
   var wrapper = $("#wrapper");
   var height = parseInt(document.documentElement.clientHeight || 500);
   var width = parseInt(wrapper.width());
   for(var i=0; i<200; i++) {
    var position = {
     left: Math.round(Math.random()*(width - 50)),
     top: Math.round(Math.random()*(height - 100))
    };
    var _size = 50 - Math.round(Math.random()*40);
    var size = {
     height: _size,
     width: _size
    };
    var circle = $(createCircle(position, size));
    circle.appendTo(wrapper);
    circle.mouseover(function(){
     var color = createColor();
     $(this).css('background-color', color);
    }).mouseout(function(){
     var color = createColor();
     $(this).css('background-color', color);
    });
    animate(circle);
   }
  });
 </script>
</head>
<body id="wrapper">
 <div id="wrapper">
 </div>
</body>
</html>

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

Javascript 相关文章推荐
javascript new 需不需要继续使用
Jul 02 Javascript
jQuery实现长文字部分显示代码
May 13 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
Feb 05 Javascript
javascript中clipboardData对象用法详解
May 13 Javascript
EasyUI在表单提交之前进行验证的实例代码
Jun 24 Javascript
JavaScript中自带的 reduce()方法使用示例详解
Aug 10 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
Dec 30 Javascript
Vue.js手风琴菜单组件开发实例
May 16 Javascript
理解Angular的providers给Http添加默认headers
Jul 04 Javascript
vue-router 导航钩子的具体使用方法
Aug 31 Javascript
javascript实现鼠标点击生成文字特效
Dec 24 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
Nov 07 Javascript
再谈JavaScript异步编程
Jan 27 #Javascript
简单介绍jsonp 使用小结
Jan 27 #Javascript
理解javascript异步编程
Jan 27 #Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
Jan 27 #Javascript
AngularJS转换响应内容
Jan 27 #Javascript
jQuery+css实现的切换图片功能代码
Jan 27 #Javascript
javascript中的3种继承实现方法
Jan 27 #Javascript
You might like
PHP nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
2009/08/21 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
前端开发过程中浏览器版本的两种判定方法
2013/10/30 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
JavaScript获取当前网页标题(title)的方法
2015/04/03 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
2015/04/29 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
AngularJs $parse、$eval和$observe、$watch详解
2016/09/21 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
wxPython学习之主框架实例
2014/09/28 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
pyqt5简介及安装方法介绍
2018/01/31 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
应届生学校辅导员求职信
2013/11/07 职场文书
遥感技术与仪器求职信
2014/02/22 职场文书
机关会计岗位职责
2014/04/08 职场文书
给校长的建议书200字
2014/05/16 职场文书
教师三严三实心得体会
2014/10/11 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
筑梦中国心得体会
2016/01/18 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android