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控制插件
Aug 17 Javascript
JavaScript 盒模型 尺寸深入理解
Dec 31 Javascript
jquery.form.js用法之清空form的方法
Mar 07 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
Dec 15 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
Dec 02 Javascript
AngularJS数据源的多种获取方式汇总
Feb 02 Javascript
浅析jquery unbind()方法移除元素绑定的事件
May 24 Javascript
js实现点击每个li节点,都弹出其文本值及修改
Dec 15 Javascript
vue源码学习之Object.defineProperty 对数组监听
May 30 Javascript
详解几十行代码实现一个vue的状态管理
Jan 28 Javascript
layer弹出层取消遮罩的方法
Sep 25 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
Jul 24 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中使用foreach()遍历二维数组的简单实例
2016/06/13 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
php生成word并下载代码实例
2019/03/15 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
JavaScript数据类型转换的注意事项
2016/07/31 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
python实现数通设备tftp备份配置文件示例
2014/04/02 Python
Python 专题四 文件基础知识
2017/03/20 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
Python中字符串List按照长度排序
2019/07/01 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Python用input输入列表的实例代码
2020/02/07 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
tensorflow实现从.ckpt文件中读取任意变量
2020/05/26 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
最新个人职业生涯规划书
2014/01/22 职场文书
财务学生的职业生涯发展
2014/02/11 职场文书
民族团结先进集体事迹材料
2014/05/22 职场文书
档案工作汇报材料
2014/08/21 职场文书
2015年团支部工作总结
2015/04/03 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers