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 相关文章推荐
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
Apr 25 Javascript
调用HttpHanlder的几种返回方式小结
Dec 20 Javascript
JQuery实现展开关闭层的方法
Feb 17 Javascript
分享十五款 jQuery 社交网络分享插件
May 16 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
Mar 01 Javascript
jQuery+ajax简单实现文件上传的方法
Jun 03 Javascript
jquery版轮播图效果和extend扩展
Jul 18 jQuery
JQuery EasyUI 结合ztrIee的后台页面开发实例
Sep 01 jQuery
详解webpack require.ensure与require AMD的区别
Dec 13 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
Dec 15 Javascript
关于vue面试题汇总
Mar 20 Javascript
JS实现的DOM插入节点操作示例
Apr 04 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调用三种数据库的方法(1)
2006/10/09 PHP
mysql中存储过程、函数的一些问题
2007/02/14 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
Iframe thickbox2.0使用的方法
2009/03/05 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
html超链接打开窗口大小的方法
2013/03/05 Javascript
JS.elementGetStyle(element, style)应用示例
2013/09/24 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
关闭时刷新父窗口两种方法
2014/05/07 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
2015/06/18 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
2016/05/10 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
2018/09/07 Javascript
vue实现分页组件
2020/06/16 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
python list转dict示例分享
2014/01/28 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
浅谈python常用程序算法
2019/03/22 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
英国现代市场:ARKET
2019/04/10 全球购物
西部世纪面试题
2014/12/05 面试题
名人演讲稿范文
2013/12/28 职场文书
培训主管岗位职责
2014/02/01 职场文书
2014年人力资源部工作总结
2014/11/19 职场文书
一个都不能少观后感
2015/06/04 职场文书
编写python程序的90条建议
2021/04/14 Python
Golang ort 中的sortInts 方法
2022/04/24 Golang