JS实现鼠标拖尾特效的方法及代码是什么
Admin 2022-05-30 群英技术资讯 714 次浏览
本文实例为大家分享了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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
网站页面的响应速度与用户体验息息相关,直接影响到用户是否愿意继续访问你的网站,所以这篇文章主要给大家介绍了关于Vue项目打包、合并及压缩优化网页响应速度的相关资料,需要的朋友可以参考下
这篇文章主要介绍了vue插值表达式和v-text指令的区别,{{}}这种语法叫做插值表达式,在插值表达式中可以写任何合法的js表达式,下面来看看文章是怎么介绍该内容的吧,需要的朋友可以参考一下
关于如何以及为什么要构建多页vue应用,我们在上一篇文章中已经介绍过,感兴趣的请参考构建多页vue应用。本文我们要介绍的是,对于一个多页应用,如何单独打包其中一个(或几个)页面
目录不同环境下如何配置代理第一种情况第二种情况Vue设置本地代理本地安装Whistle谷歌浏览器安装Proxy SwitchyOmega扩展浏览器操作不同环境下如何配置代理实际开发的时候,经常会遇到并行开发的需求,会出现第一个需求接口转发是一个地址,下一个需求接口转发是一个地址,这时候如何解决呢?第一种情况前端也不申请
篇文章主要给大家分享的是node.js的cors跨域配置实现的内容,本文有详细的介绍及代码,对大家学习和工作有一定的参考学习价值,因此分享给点家做个参考,需要的朋友可以了解看看。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008