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字符编码函数区别分析
Dec 28 Javascript
jQuery实现防止提交按钮被双击的方法
Mar 24 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
May 04 Javascript
JavaScript实现in-place思想的快速排序方法
Aug 07 Javascript
JS+HTML5 FileReader对象用法示例
Apr 07 Javascript
bootstrap选项卡扩展功能详解
Jun 14 Javascript
详解webpack 如何集成第三方js库
Jun 29 Javascript
详解React 在服务端渲染的实现
Nov 16 Javascript
javascript实现文件拖拽事件
Mar 29 Javascript
react的滑动图片验证码组件的示例代码
Feb 27 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
Nov 12 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
Jul 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面向对象自动加载机制原理与用法分析
2016/10/14 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
php中请求url的五种方法总结
2017/07/13 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
基于jquery的页面划词搜索JS
2010/09/14 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
Bootstrap学习笔记之环境配置(1)
2016/12/07 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
python正则表达式抓取成语网站
2013/11/20 Python
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
Python中进程和线程的区别详解
2017/10/29 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
美国五金商店:Ace Hardware
2018/03/27 全球购物
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
佳能法国商店:Canon法国
2019/02/14 全球购物
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
岗位职责风险防控
2014/02/18 职场文书
兴趣小组活动总结
2014/05/05 职场文书
行政管理专业求职信
2014/07/06 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
javascript之Object.assign()的痛点分析
2022/03/03 Javascript
Java数组详细介绍及相关工具类
2022/04/14 Java/Android
Win11更新失败并提示0xc1900101
2022/04/19 数码科技