JS实现鼠标拖尾特效的方法及代码是什么
Admin 2022-05-30 群英技术资讯 400 次浏览
本文实例为大家分享了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>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文详细讲解了Javascript的作用域、作用域链以及闭包,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
JS数组中filter方法的使用是什么?filter()创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
jquery选定元素修改属性的方法:1、利用“$(指定元素)”语句获取指定元素对象;2、利用attr()方法来修改已获取到元素对象的属性 ,语法为“元素对象.attr(attribute,value)”。
Node.js 调试 的方式有什么,怎样调式方便?对于Node 代码调式,很多朋友只会用console.log 这种带有侵入性的方法,但是其实Node.js 也可以做到跟浏览器调试一样的方便的,对此本文给大家分享两种常见的 Node.js 的方式,需要的朋友可以参考了解看看。
目录一、什么是 TypeScript二、TypeScript 简史三、为什么我们要使用TypeScript?TypeScript的附加功能四、大牛现身说法:五、你可能不知道的TypeScript顶级功能1、面向对象程序设计2、接口、泛型、继承和方法访问修饰符3、编译时/静态类型检查4、比JavaScript代码更少5、
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008