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异步调用页面后台方法&amp;#8207;(asp.net)
Mar 01 Javascript
jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
May 22 Javascript
Javascript中arguments和arguments.callee的区别浅析
Apr 24 Javascript
JavaScript 模块的循环加载实现方法
Dec 13 Javascript
微信小程序 教程之事件
Oct 18 Javascript
微信小程序 页面传参实例详解
Nov 16 Javascript
浅谈angular4生命周期钩子
Sep 05 Javascript
three.js实现3D视野缩放效果
Nov 16 Javascript
webstorm中vue语法的支持详解
May 09 Javascript
vue 不使用select实现下拉框功能(推荐)
May 17 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
Sep 17 Javascript
vue使用axios上传文件(FormData)的方法
Apr 14 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
Protoss魔法科技
2020/03/14 星际争霸
《雄兵连》《烈阳天道》真的来了
2020/07/13 国漫
php设计模式 Strategy(策略模式)
2011/06/26 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
改版了网上的一个js操作userdata
2007/04/27 Javascript
javascript 操作文件 实现方法小结
2009/07/02 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
JavaScript实现的XML与JSON互转功能详解
2017/02/16 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
详解Python中的正则表达式的用法
2015/04/09 Python
python比较2个xml内容的方法
2015/05/11 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
keras导入weights方式
2020/06/12 Python
Python hashlib模块的使用示例
2020/10/09 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
求职简历中的自我评价分享
2013/12/08 职场文书
2014年党支部承诺书
2014/05/30 职场文书
个人授权委托书范文
2014/09/21 职场文书
2014年安全员工作总结
2014/11/13 职场文书
指导老师鉴定意见
2015/06/05 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
《月光曲》教学反思
2016/02/16 职场文书