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操作Select 简单方便 一个js插件搞定
Nov 12 Javascript
深入理解javascript严格模式(Strict Mode)
Nov 28 Javascript
JS简单实现动画弹出层效果
May 05 Javascript
canvas压缩图片转换成base64格式输出文件流
Mar 09 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
Jun 10 Javascript
通过jquery的ajax请求本地的json文件方法
Aug 08 jQuery
解决vuejs项目里css引用背景图片不能显示的问题
Sep 13 Javascript
vue2过滤器模糊查询方法
Sep 16 Javascript
js中对象和面向对象与Json介绍
Jan 21 Javascript
基于three.js实现的3D粒子动效实例代码
Apr 09 Javascript
JS实现简单打字测试
Jun 24 Javascript
vue页面跳转实现页面缓存操作
Jul 22 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的加密方式及原理
2012/06/14 PHP
php中strtotime函数用法详解
2014/11/15 PHP
PHP生成条形图的方法
2014/12/10 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
window.location.hash 使用说明
2010/11/08 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
jquery parent和parents的区别分析
2013/10/02 Javascript
jQuery使用之设置元素样式用法实例
2015/01/19 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
JS基于for语句编写的九九乘法表示例
2018/01/04 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
layui使用label标签的方法
2019/09/14 Javascript
python实现获取客户机上指定文件并传输到服务器的方法
2015/03/16 Python
python通过post提交数据的方法
2015/05/06 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
Python WSGI的深入理解
2018/08/01 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
2020/06/23 Python
用Python开发app后端有优势吗
2020/06/29 Python
Python创建临时文件和文件夹
2020/08/05 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
FORZIERI澳大利亚站:全球顶级奢华配饰精品店
2016/12/31 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
怎样声明子类
2013/07/02 面试题
中软国际Java程序员机试题
2012/08/19 面试题
吴仁宝观后感
2015/06/09 职场文书
签约仪式致辞
2015/07/30 职场文书
《我是什么》教学反思
2016/02/16 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技