原生JS实现的多个彩色小球跟随鼠标移动动画效果示例


Posted in Javascript onFebruary 01, 2018

本文实例讲述了原生JS实现的多个彩色小球跟随鼠标移动动画效果。分享给大家供大家参考,具体如下:

实现方法:

每个小球移动都有自己的坐标,小球移动的同时,需要进行坐标传递,将第一个坐标依次传递给最后一个坐标,来实现小球跟着移动的效果

实现代码:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title>小球运动</title>
  <style type="text/css">
   p {
    border-radius: 50%;
    width: 30px;
    height: 30px;
    position: absolute;
    text-align: center;
    line-height: 30px;
    color: white;
   }
  </style>
 </head>
 <body>
 </body>
 <script type="text/javascript">
  //创建数组存储所有的小球
  var balls = [];
  //创建小球函数
  function createballs(){
   for (var i = 0;i < 60;i++) {
    var ball = document.createElement("p");
     ball.innerHTML = i + 1;
     ball.style.backgroundColor = randomColor();
    //将创建的小球存储到数组中
    document.body.appendChild( ball);
    //将所有的小球存在数组中
     balls.push( ball);
   }
  }
  createballs();
  //随机函数
  function randomNum(m, n) {
   return Math.floor(Math.random() * (n - m + 1) + m);
  }
  //随机颜色
  function randomColor() {
   return "rgb(" + randomNum(0, 255) + "," + randomNum(0, 255) + "," + randomNum(0, 255) + ")";
  }
  document.onmousemove = function(e){
   var eventObj = e || event;
   for(var i = balls.length - 1;i > 0;i--){
    //将小球的下标通过for循环进行传递
     balls[i].style.left = balls[i - 1].style.left;
     balls[i].style.top= balls[i - 1].style.top;
   }
   //将第一个小球赋值为最新的事件对象中的坐标
    balls[0].style.left = eventObj.clientX + "px";
    balls[0].style.top= eventObj.clientY + "px";
  }
 </script>
</html>

运行效果:

原生JS实现的多个彩色小球跟随鼠标移动动画效果示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JQuery学习笔录 简单的JQuery
Apr 09 Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
Feb 25 Javascript
jQuery模仿单选按钮选中效果
Jun 24 Javascript
原生js编写基于面向对象的分页组件
Dec 05 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
May 05 jQuery
JavaScrpt的面向对象全面解析
May 09 Javascript
vue-cli webpack 开发环境跨域详解
May 18 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
Aug 13 Javascript
JavaScript之解构赋值的理解
Jan 30 Javascript
微信小程序实现商城倒计时
Nov 01 Javascript
jquery实现直播弹幕效果
Nov 28 jQuery
Vue组件之自定义事件的功能图解
Feb 01 #Javascript
微信小程序三级联动选择器使用方法
May 19 #Javascript
jquery应用实例分享_实现手风琴特效
Feb 01 #jQuery
使用JS模拟锚点跳转的实例
Feb 01 #Javascript
微信小程序实现图片预览功能
Jan 31 #Javascript
vue单页应用加百度统计代码(亲测有效)
Jan 31 #Javascript
微信小程序实现MUI数字输入框效果
Jan 31 #Javascript
You might like
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
php allow_url_include的应用和解释
2010/04/22 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
2011/07/01 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
JavaScript内核之基本概念
2011/10/21 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
Jquery日期选择datepicker插件用法实例分析
2015/06/08 Javascript
基于jQuery Easyui实现登陆框界面
2017/07/10 jQuery
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
2017/08/17 Javascript
用Vue编写抽象组件的方法
2019/05/06 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
python 自定义异常和异常捕捉的方法
2018/10/18 Python
python 回溯法模板详解
2020/02/26 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
Becextech新西兰:数码单反相机和手机在线商店
2018/04/27 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
征兵宣传标语
2014/06/20 职场文书
德育标兵事迹材料
2014/08/24 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
2014年纪检工作总结
2014/11/12 职场文书
安全先进班组材料
2014/12/26 职场文书
小学生表扬稿范文
2015/05/05 职场文书
python内置进制转换函数的操作
2021/06/02 Python
实例讲解Python中sys.argv[]的用法
2021/06/03 Python