使用JavaScript怎么实现一个鼠标拖尾效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
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怎么实现一个鼠标拖尾效果问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。