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 相关文章推荐
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
May 31 Javascript
javascript页面渲染速度测试脚本分享
Apr 15 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
Mar 04 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
May 01 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
Mar 05 Javascript
基于JQuery打造无缝滚动新闻步骤详解
Mar 31 Javascript
jQuery纵向导航菜单效果实现方法
Dec 19 Javascript
layui 地区三级联动 form select 渲染的实例
Sep 27 Javascript
ES5新增数组的实现方法
May 12 Javascript
js实现三角形粒子运动
Sep 22 Javascript
全网小程序接口请求封装实例代码
Nov 06 Javascript
Vue.Draggable实现交换位置
Apr 07 Vue.js
再谈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代码书写习惯优化小结
2013/06/20 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
Joomla开启SEF的方法
2016/05/04 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
jquery tools 系列 scrollable学习
2009/09/06 Javascript
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
2015/11/29 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
bootstrap-datetimepicker实现只显示到日期的方法
2016/11/25 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
解析vue data不可以使用箭头函数问题
2018/07/03 Javascript
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
重命名批处理python脚本
2013/04/05 Python
python线程池的实现实例
2013/11/18 Python
Python常用正则表达式符号浅析
2014/08/13 Python
Python编程中实现迭代器的一些技巧小结
2016/06/21 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
2018/04/25 Python
基于python实现KNN分类算法
2020/04/23 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
python无序链表删除重复项的方法
2020/01/17 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
办公室文员自荐书
2014/02/03 职场文书
文秘求职信范文
2014/04/10 职场文书
法律进社区活动总结
2015/05/07 职场文书
小学运动会报道稿
2015/07/22 职场文书
事业单位岗位说明书
2015/10/08 职场文书
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记
Python 的演示平台支持 WSGI 接口的应用
2022/04/20 Python