![图片[1]-跟随鼠标光标炫彩小星星特效代码分享](https://img.wwwo.top/oldfile/20210926114011418.jpg)
今天找到一篇讲如何给自己的WordPress网站添加鼠标特效的教程。
当鼠标移动时,会有炫彩的小星星跟随,这可以增加博客趣味性的效果,也让静态的网页变得不再单调。
当然手机端也是有效果的哈。
<!-- 鼠标小星星特效 --><script>(function fairyDustCursor() {var possibleColors = ["#D61C59", "#E7D84B", "#1B8798"]var width = window.innerWidth;var height = window.innerHeight;var cursor = {x: width / 2,y: width / 2};var particles = [];function init() {bindEvents();loop()}function bindEvents() {document.addEventListener('mousemove', onMouseMove);document.addEventListener('touchmove', onTouchMove);document.addEventListener('touchstart', onTouchMove);window.addEventListener('resize', onWindowResize)}function onWindowResize(e) {width = window.innerWidth;height = window.innerHeight}function onTouchMove(e) {if (e.touches.length > 0) {for (var i = 0; i < e.touches.length; i++) {addParticle(e.touches[i].clientX, e.touches[i].clientY, possibleColors[Math.floor(Math.random() * possibleColors.length)])}}}function onMouseMove(e) {cursor.x = e.clientX;cursor.y = e.clientY;addParticle(cursor.x, cursor.y, possibleColors[Math.floor(Math.random() * possibleColors.length)])}function addParticle(x, y, color) {var particle = new Particle();particle.init(x, y, color);particles.push(particle)}function updateParticles() {for (var i = 0; i < particles.length; i++) {particles[i].update()}for (var i = particles.length - 1; i >= 0; i--) {if (particles[i].lifeSpan < 0) {particles[i].die();particles.splice(i, 1)}}}function loop() {requestAnimationFrame(loop);updateParticles()}function Particle() {this.character = "*";this.lifeSpan = 200;this.initialStyles = {"position": "fixed","top": "0","display": "block","pointerEvents": "none","z-index": "99999999","fontSize": "16px","will-change": "transform"};this.init = function (x, y, color) {this.velocity = {x: (Math.random() < 0.5 ? -1 : 1) * (Math.random() / 2),y: 1};this.position = {x: x - 10,y: y - 20};this.initialStyles.color = color;this.element = document.createElement('span');this.element.innerHTML = this.character;applyProperties(this.element, this.initialStyles);this.update();document.body.appendChild(this.element)};this.update = function () {this.position.x += this.velocity.x;this.position.y += this.velocity.y;this.lifeSpan--;this.element.style.transform = "translate3d(" + this.position.x + "px," + this.position.y + "px,0) scale(" + (this.lifeSpan / 120) + ")"}this.die = function () {this.element.parentNode.removeChild(this.element)}}function applyProperties(target, properties) {for (var key in properties) {target.style[key] = properties[key]}}init()})();</script><!-- 鼠标小星星特效 --> <script> (function fairyDustCursor() { var possibleColors = ["#D61C59", "#E7D84B", "#1B8798"] var width = window.innerWidth; var height = window.innerHeight; var cursor = { x: width / 2, y: width / 2 }; var particles = []; function init() { bindEvents(); loop() } function bindEvents() { document.addEventListener('mousemove', onMouseMove); document.addEventListener('touchmove', onTouchMove); document.addEventListener('touchstart', onTouchMove); window.addEventListener('resize', onWindowResize) } function onWindowResize(e) { width = window.innerWidth; height = window.innerHeight } function onTouchMove(e) { if (e.touches.length > 0) { for (var i = 0; i < e.touches.length; i++) { addParticle(e.touches[i].clientX, e.touches[i].clientY, possibleColors[Math.floor(Math.random() * possibleColors.length)]) } } } function onMouseMove(e) { cursor.x = e.clientX; cursor.y = e.clientY; addParticle(cursor.x, cursor.y, possibleColors[Math.floor(Math.random() * possibleColors.length)]) } function addParticle(x, y, color) { var particle = new Particle(); particle.init(x, y, color); particles.push(particle) } function updateParticles() { for (var i = 0; i < particles.length; i++) { particles[i].update() } for (var i = particles.length - 1; i >= 0; i--) { if (particles[i].lifeSpan < 0) { particles[i].die(); particles.splice(i, 1) } } } function loop() { requestAnimationFrame(loop); updateParticles() } function Particle() { this.character = "*"; this.lifeSpan = 200; this.initialStyles = { "position": "fixed", "top": "0", "display": "block", "pointerEvents": "none", "z-index": "99999999", "fontSize": "16px", "will-change": "transform" }; this.init = function (x, y, color) { this.velocity = { x: (Math.random() < 0.5 ? -1 : 1) * (Math.random() / 2), y: 1 }; this.position = { x: x - 10, y: y - 20 }; this.initialStyles.color = color; this.element = document.createElement('span'); this.element.innerHTML = this.character; applyProperties(this.element, this.initialStyles); this.update(); document.body.appendChild(this.element) }; this.update = function () { this.position.x += this.velocity.x; this.position.y += this.velocity.y; this.lifeSpan--; this.element.style.transform = "translate3d(" + this.position.x + "px," + this.position.y + "px,0) scale(" + (this.lifeSpan / 120) + ")" } this.die = function () { this.element.parentNode.removeChild(this.element) } } function applyProperties(target, properties) { for (var key in properties) { target.style[key] = properties[key] } } init() })(); </script><!-- 鼠标小星星特效 --> <script> (function fairyDustCursor() { var possibleColors = ["#D61C59", "#E7D84B", "#1B8798"] var width = window.innerWidth; var height = window.innerHeight; var cursor = { x: width / 2, y: width / 2 }; var particles = []; function init() { bindEvents(); loop() } function bindEvents() { document.addEventListener('mousemove', onMouseMove); document.addEventListener('touchmove', onTouchMove); document.addEventListener('touchstart', onTouchMove); window.addEventListener('resize', onWindowResize) } function onWindowResize(e) { width = window.innerWidth; height = window.innerHeight } function onTouchMove(e) { if (e.touches.length > 0) { for (var i = 0; i < e.touches.length; i++) { addParticle(e.touches[i].clientX, e.touches[i].clientY, possibleColors[Math.floor(Math.random() * possibleColors.length)]) } } } function onMouseMove(e) { cursor.x = e.clientX; cursor.y = e.clientY; addParticle(cursor.x, cursor.y, possibleColors[Math.floor(Math.random() * possibleColors.length)]) } function addParticle(x, y, color) { var particle = new Particle(); particle.init(x, y, color); particles.push(particle) } function updateParticles() { for (var i = 0; i < particles.length; i++) { particles[i].update() } for (var i = particles.length - 1; i >= 0; i--) { if (particles[i].lifeSpan < 0) { particles[i].die(); particles.splice(i, 1) } } } function loop() { requestAnimationFrame(loop); updateParticles() } function Particle() { this.character = "*"; this.lifeSpan = 200; this.initialStyles = { "position": "fixed", "top": "0", "display": "block", "pointerEvents": "none", "z-index": "99999999", "fontSize": "16px", "will-change": "transform" }; this.init = function (x, y, color) { this.velocity = { x: (Math.random() < 0.5 ? -1 : 1) * (Math.random() / 2), y: 1 }; this.position = { x: x - 10, y: y - 20 }; this.initialStyles.color = color; this.element = document.createElement('span'); this.element.innerHTML = this.character; applyProperties(this.element, this.initialStyles); this.update(); document.body.appendChild(this.element) }; this.update = function () { this.position.x += this.velocity.x; this.position.y += this.velocity.y; this.lifeSpan--; this.element.style.transform = "translate3d(" + this.position.x + "px," + this.position.y + "px,0) scale(" + (this.lifeSpan / 120) + ")" } this.die = function () { this.element.parentNode.removeChild(this.element) } } function applyProperties(target, properties) { for (var key in properties) { target.style[key] = properties[key] } } init() })(); </script>
直接将上方代码添加到footer.php即可使用。
也可以创建js文件,然后再在页脚引用。例如:
<script src="https://wwwo.top/texiao.js"></script><script src="https://wwwo.top/texiao.js"></script><script src="https://wwwo.top/texiao.js"></script>
效果展示:
本站网络名称:
追逐流星的猫
本站永久网址:
wwwo.top
1 本站文章部分内容来源于网络,仅供大家学习与参考,请在24H内删除。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
暂无评论内容