原生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 相关文章推荐
二级域名转向类
Nov 09 Javascript
Code:loadScript( )加载js的功能函数
Feb 02 Javascript
CSS常用网站布局实例
Apr 03 Javascript
javascript getElementsByClassName 和js取地址栏参数
Jan 02 Javascript
JS控制层作圆周运动的方法
Jun 20 Javascript
vue-loader教程介绍
Jun 14 Javascript
JS鼠标滚动分页效果示例
Jul 05 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
Oct 26 Javascript
fetch 使用及如何接收JS传值
Nov 11 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
Dec 10 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
May 31 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
Apr 26 Javascript
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验证码生成类分享
2014/08/21 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
JQuery 小练习(实例代码)
2009/08/07 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
jQuery多项选项卡的实现思路附样式及代码
2014/06/03 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
小程序自定义日历效果
2018/12/29 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
用Python遍历C盘dll文件的方法
2015/05/06 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
Django框架中序列化和反序列化的例子
2019/08/06 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
Numpy的简单用法小结
2019/08/28 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
Python测试框架:pytest学习笔记
2020/10/20 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
补充协议书范本
2014/04/23 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
企业计划生育责任书
2015/05/09 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书
Nginx缓存设置案例详解
2021/09/15 Servers