JS实现鼠标移动拖尾


Posted in Javascript onDecember 27, 2020

本文实例为大家分享了JS实现鼠标移动拖尾的具体代码,供大家参考,具体内容如下

JS 代码

function getMousePos(event) {
  var e = event || window.event;
  var mouseInfo = {
    mouseX : e.clientX,
    mouseY : e.clientY
  }
  return mouseInfo;
}
 
function getMouseArt() {
  this.artStyle = {
    position: "fixed",
    top: 0,
    left: 0,
    width: "50px",
    height: "50px",
    "font-size": 0,
    "color": 0,
    "text-transform": 0
  };
  this.init = function(obj) {
    var character = ["你", "真", "的", "爱", "我", "吗", "喜", "欢", "不", "对", "起", "彩", "色", "世", "界", "灰", "?"];
    var font_trans = ["uppercase", "lowercase"];
    this.Alpha = 1;
 
    this.element = document.createElement('div');
    var text = document.createTextNode(character[Math.floor(Math.random() * character.length)]);
    this.element.appendChild(text);
 
    this.addStyle(this.element, this.artStyle);
 
    var offsetV = Math.floor(Math.random() * 60 - 30); // -30 ~ 30
    this.element.style.left = obj.mouseX + offsetV +"px"; // x
    this.element.style.top = obj.mouseY + offsetV +"px"; // y
    this.element.style.fontSize = Math.floor(Math.random() * 20 + 10) + "px";
    this.element.style.color = "hsla("+ Math.floor(Math.random() * 255) + ",100%,50%," + this.Alpha + ")";
    this.element.style.textTransform = font_trans[Math.floor(Math.random() * 2)];
 
    document.body.appendChild(this.element);
  }
  this.addStyle = function(ele, genuine) {
    for (var k in genuine) {
      ele.style[k] = genuine[k];
    }
  }
  this.delElement = function() {
    document.body.removeChild(this.element);
  }
  this.reduceColor = function(win) {
    if (this.Alpha <= 1 && this.Alpha > 0) {
      this.Alpha = this.Alpha - 0.1;
      this.element.style.color = "hsla("+ Math.floor(Math.random() * 255) + ",100%,50%," + this.Alpha + ")";
      console.log(this.Alpha);
     }
    else {
      clearInterval(win);
      this.delElement();
    }
  }
}
 
document.onmousemove = function(event) {
  var obj = getMousePos(event);
  var art = new getMouseArt();
  art.init(obj);
  var win = setInterval(function() {
    art.reduceColor(win);
  }, 30);
}

HTML 代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body {
      background: black;
    }
  </style>
</head>
<body>
  <script src="mouse.js" type="text/javascript"></script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery.validate分组验证代码
Mar 17 Javascript
jQuery AjaxQueue改进步骤
Oct 06 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
Sep 10 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
Aug 12 Javascript
Bootstrap每天必学之面板
Nov 30 Javascript
JavaScript中值类型和引用类型的区别
Feb 23 Javascript
微信小程序三级联动选择器使用方法
May 19 Javascript
浅谈Vue下使用百度地图的简易方法
Mar 23 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
element-ui表格合并span-method的实现方法
May 21 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
Jul 11 Javascript
介绍一下28个JS常用数组方法
May 06 Javascript
JavaScript实现滚动加载更多
Dec 27 #Javascript
jQuery实现简单轮播图效果
Dec 27 #jQuery
JavaScript实现瀑布流布局的3种方式
Dec 27 #Javascript
Vue实现省市区三级联动
Dec 27 #Vue.js
JavaScript实现通讯录功能
Dec 27 #Javascript
vue3.0自定义指令(drectives)知识点总结
Dec 27 #Vue.js
vue 使用 sortable 实现 el-table 拖拽排序功能
Dec 26 #Vue.js
You might like
javascript 小型动画组件与实现代码
2010/06/02 PHP
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
javascript判断chrome浏览器的方法
2014/03/26 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
javascript实现简单查找与替换的方法
2015/07/22 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
微信小程序 循环及嵌套循环的使用总结
2017/09/26 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
详解plotly.js 绘图库入门使用教程
2018/02/23 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
npm 常用命令详解(小结)
2019/01/17 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
使用pyqt5 tablewidget 单元格设置正则表达式
2019/12/13 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
英国Amara家居法国网站:家居装饰,现代装饰和豪华礼品
2016/12/15 全球购物
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
意大利自行车商店:Cingolani Bike Shop
2019/09/03 全球购物
银行学习十八大感想
2014/01/11 职场文书
宗教学大学生职业生涯规划范文
2014/02/08 职场文书
计划生育工作汇报
2014/10/28 职场文书
苏州园林导游词
2015/02/03 职场文书
2015年路政工作总结
2015/05/22 职场文书
幼儿园中班教育随笔
2015/08/14 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle
Django与数据库交互的实现
2021/06/03 Python