原生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 相关文章推荐
javascript Math.random()随机数函数
Nov 04 Javascript
Jquery调用webService远程访问出错的解决方法
May 21 Javascript
jquery实现网站超链接和图片提示效果
Mar 21 Javascript
javascript代码运行不出来执行错误的可能情况整理
Oct 18 Javascript
jquery实现侧边弹出的垂直导航
Dec 09 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
Aug 06 Javascript
jquery解析XML及获取XML节点名称的实现代码
May 18 Javascript
最丑的时钟效果!js canvas时钟制作方法
Aug 15 Javascript
深入理解vue $refs的基本用法
Jul 13 Javascript
详解Vue CLI3配置解析之css.extract
Sep 14 Javascript
详解vue父子组件关于模态框状态的绑定方案
Jun 05 Javascript
vue 实现 rem 布局或vw 布局的方法
Nov 13 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的一个登录的类 [推荐]
2007/03/16 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
2012/03/11 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
JavaScript语句可以不以;结尾的烦恼
2007/03/08 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
Vue.js watch监视属性知识点总结
2019/11/11 Javascript
[02:21]十步杀一人,千里不留行——DOTA2全新英雄天涯墨客展示
2018/08/29 DOTA
python实现中文输出的两种方法
2015/05/09 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
python实现京东秒杀功能
2018/07/30 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
财务会计专业毕业生自荐信
2013/10/19 职场文书
公司活动邀请函
2014/01/24 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
中药专业自荐信范文
2014/03/18 职场文书
学校班班通实施方案
2014/06/11 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
Python基础之tkinter图形化界面学习
2021/04/29 Python