Greasy Fork

Greasy Fork is available in English.

点击屏幕生成爱心特效

点击屏幕时显示爱心特效

当前为 2024-12-05 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         点击屏幕生成爱心特效
// @namespace    http://tampermonkey.net/
// @version      1.4
// @description  点击屏幕时显示爱心特效
// @author       You
// @match        *://*/*
// @grant        GM_addStyle
// @license      MIT
// ==/UserScript==

(function () {
    'use strict';

    // 添加爱心动画的样式
    GM_addStyle(`
      .heart {
    position: absolute;
    width: 50px;  /* 缩小爱心的宽度 */
    height: 50px; /* 缩小爱心的高度 */
    background-color: red;
    transform: rotate(90deg);  /* 使爱心竖着 */
    animation: heartbeat 1s ease-out forwards;
}

.heart::before,
.heart::after {
    content: "";
    position: absolute;
    width: 50px;   /* 同样缩小伪元素的宽度 */
    height: 50px;  /* 同样缩小伪元素的高度 */
    background-color: red;
    border-radius: 50%;
}

.heart::before {
    left: 0;
    top: -40px;  /* 调整伪元素位置,确保两半部分合并为一个心形 */
}

.heart::after {
    left: 40px;
    top: 0;
}

@keyframes heartbeat {
    0% {
        transform: scale(0) rotate(45deg);
        opacity: 1;
    }
    50% {
        transform: scale(1.1) rotate(45deg);
        opacity: 0.8;
    }
    100% {
        transform: scale(1) rotate(45deg);
        opacity: 0;
    }
}


    `);

    // 确保页面完全加载
    window.addEventListener('load', function () {
        console.log('页面已加载');

        // 监听鼠标点击事件
        document.addEventListener('click', function (event) {
            // 获取页面滚动的距离
            const scrollX = window.scrollX || window.pageXOffset;
            const scrollY = window.scrollY || window.pageYOffset;

            // 获取页面相对于视口的坐标
            const rect = document.body.getBoundingClientRect();

            // 计算点击位置相对于页面的坐标
            const x = event.clientX + scrollX - rect.left;
            const y = event.clientY + scrollY - rect.top;

            // 创建爱心元素
            const heart = document.createElement('div');
            heart.classList.add('heart');

            // 设置爱心的位置为点击位置
            heart.style.left = `${x - 15}px`; // 调整位置使爱心的中心对准点击点
            heart.style.top = `${y - 15}px`;

            // 将爱心元素添加到页面中
            document.body.appendChild(heart);

            // 设置定时器,0.8秒后删除爱心元素
            setTimeout(() => {
                heart.remove();
            }, 800);
        });
    });
})();