原生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 相关文章推荐
dreamweaver 安装Jquery智能提示
Apr 02 Javascript
JS简单操作select和dropdownlist实例
Nov 26 Javascript
JavaScript整除运算函数ceil和floor的区别分析
Apr 14 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
Jul 20 Javascript
解决node.js安装包失败的几种方法
Sep 02 Javascript
原生JS实现九宫格抽奖效果
Apr 01 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
Aug 23 Javascript
微信小程序之发送短信倒计时功能
Aug 30 Javascript
JavaScript常用数学函数用法示例
May 14 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
Aug 25 Javascript
详解vue项目中调用百度地图API使用方法
Apr 25 Javascript
JavaScript实现队列结构过程
Dec 06 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 数组的指针操作实现代码
2011/02/08 PHP
使用xampp搭建运行php虚拟主机的详细步骤
2015/10/21 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
2016/05/17 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
JavaScript变量类型以及变量作用域详解
2017/08/14 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
2013/11/28 Python
Python退火算法在高次方程的应用
2018/07/26 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
Python bytes string相互转换过程解析
2020/03/05 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
澳大利亚家具商店:Freedom
2020/12/17 全球购物
杭州信雅达系统.NET工程师面试试题
2015/02/08 面试题
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
教师节活动总结
2014/08/29 职场文书
新员工入职感想
2015/08/07 职场文书
学习党章心得体会2016
2016/01/15 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书
八年级作文之我的母亲
2019/12/10 职场文书
解决python3安装pandas出错的问题
2021/05/20 Python