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 相关文章推荐
小型js框架veryide.librar源代码
Mar 05 Javascript
把input初始值不写value的具体实现方法
Jul 04 Javascript
javascript获取重复次数最多的字符
Jul 08 Javascript
js仿苹果iwatch外观的计时器代码分享
Aug 26 Javascript
AngualrJS中的Directive制作一个菜单
Jan 26 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
Jun 27 Javascript
Vue.js事件处理器与表单控件绑定详解
Mar 20 Javascript
webpack 打包压缩js和css的方法示例
Mar 20 Javascript
vue实现个人信息查看和密码修改功能
May 06 Javascript
简述vue状态管理模式之vuex
Aug 29 Javascript
vue路由缓存的几种实现方式小结
Feb 02 Javascript
测量JavaScript函数的性能各种方式对比
Apr 27 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
php google或baidu分页代码
2009/11/26 PHP
解析php中die(),exit(),return的区别
2013/06/20 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
2018/12/12 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
vue组件开发之tab切换组件使用详解
2020/08/21 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
Django数据库操作的实例(增删改查)
2017/09/04 Python
python爬虫之urllib3的使用示例
2018/07/09 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
python实现图片素描效果
2020/09/26 Python
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
医院保洁服务方案
2014/06/11 职场文书
改革共识倡议书
2014/08/29 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
团组织关系介绍信
2019/06/24 职场文书
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis
python数字图像处理:图像的绘制
2022/06/28 Python
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript