原生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 相关文章推荐
js 获取子节点函数 (兼容FF与IE)
Apr 18 Javascript
JQuery中的ready函数冲突的解决方法
May 17 Javascript
Javascript 键盘事件的组合使用实现代码
May 04 Javascript
JS 有趣的eval优化输入验证实例代码
Sep 22 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
js和jquery中循环的退出和继续下一个循环
Sep 03 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
May 26 Javascript
Vue AST源码解析第一篇
Jul 19 Javascript
vue 微信授权登录解决方案
Apr 10 Javascript
JS验证输入的是否是数字及保留几位小数问题
May 09 Javascript
Vuex中实现数据状态查询与更改
Nov 08 Javascript
使用webpack搭建vue环境的教程详解
Dec 31 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
php5 mysql分页实例代码
2008/04/10 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
javascript中的几个运算符
2007/06/29 Javascript
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
详解vue表单——小白速看
2018/04/08 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
判断网页编码的方法python版
2016/08/12 Python
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
有关Python的22个编程技巧
2018/08/29 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
python中 * 的用法详解
2019/07/10 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
python获取Linux发行版名称
2019/08/30 Python
python实现打砖块游戏
2020/02/25 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
Python内建序列通用操作6种实现方法
2020/03/26 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
什么是Python包的循环导入
2020/09/08 Python
html5 canvas绘制放射性渐变色效果
2018/01/04 HTML / CSS
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
求职信范文怎么写
2015/03/19 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
python中pycryto实现数据加密
2022/04/29 Python