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 相关文章推荐
ie8下修改input的type属性报错的解决方法
Sep 16 Javascript
Jquery 效果使用详解
Nov 23 Javascript
javascript实现可键盘控制的抽奖系统
Mar 10 Javascript
JavaScript实现广告弹窗效果
Aug 09 Javascript
Angular directive递归实现目录树结构代码实例
May 05 Javascript
React Native之ListView实现九宫格效果的示例
Aug 02 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
Sep 05 Javascript
vue实现简单的MVVM框架
Aug 05 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
Oct 22 Javascript
vue基础之v-bind属性、class和style用法分析
Mar 11 Javascript
vue设置导航栏、侧边栏为公共页面的例子
Nov 01 Javascript
js数组中去除重复值的几种方法
Aug 03 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中的empty和isset函数
2016/05/26 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
javascript 年月日联动实现核心代码
2009/12/21 Javascript
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
jQuery实现单击和鼠标感应事件
2015/02/01 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
JQuery中Ajax()的data参数类型实例分析
2015/12/15 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
webuploader实现上传图片到服务器功能
2018/08/16 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
Python 下载及安装详细步骤
2019/11/04 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
HTML5表格_动力节点Java学院整理
2017/07/11 HTML / CSS
介绍一下Java中的static关键字
2012/05/12 面试题
Delphi软件工程师试题
2013/01/29 面试题
日语求职信范文
2013/12/17 职场文书
党支部书记岗位责任制
2014/02/11 职场文书
班主任个人工作反思
2014/04/28 职场文书
学习雷锋演讲稿
2014/05/10 职场文书
ktv好的活动方案
2014/08/17 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
导游欢迎词范文
2015/01/23 职场文书
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
pandas中对文本类型数据的处理小结
2021/11/01 Python