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 相关文章推荐
摘自百度的图片轮换效果代码
Nov 19 Javascript
利用js(jquery)操作Cookie的方法说明
Dec 19 Javascript
JS判断表单输入是否为空(示例代码)
Dec 23 Javascript
浅谈javascript属性onresize
Apr 20 Javascript
详解JavaScript的while循环的使用
Jun 03 Javascript
jQuery实现form表单元素序列化为json对象的方法
Dec 09 Javascript
不用一句js代码初始化组件
Jan 27 Javascript
JS中innerHTML和pasteHTML的区别实例分析
Jun 22 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
Dec 29 Javascript
在Vue组件中使用 TypeScript的方法
Feb 28 Javascript
vue 中filter的多种用法
Apr 26 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
Sep 07 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实现多张图片上传加水印技巧
2013/04/18 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
php分页函数完整实例代码
2014/09/22 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
2016/02/14 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
微信小程序 实现点击添加移除class
2017/06/12 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
JS实现匀速与减速缓慢运动的动画效果封装示例
2018/08/27 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
vue 重塑数组之修改数组指定index的值操作
2020/08/09 Javascript
用python读写excel的方法
2014/11/18 Python
python中logging库的使用总结
2017/10/18 Python
django静态文件加载的方法
2018/05/20 Python
python占位符输入方式实例
2019/05/27 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
2019/09/18 Python
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
信用社实习人员自我鉴定
2013/09/20 职场文书
商场周年庆活动方案
2014/08/19 职场文书
2014年外贸业务员工作总结
2014/12/11 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript