Greasy Fork

Greasy Fork is available in English.

点击屏幕生成爱心特效

点击屏幕时显示爱心特效

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(function () {
    'use strict';
 // 在腾讯文档中禁用脚本
    if (window.location.hostname === 'docs.qq.com') {
        return;  // 如果在腾讯文档网站上,脚本直接停止执行
    }
    // 添加爱心动画的样式
    GM_addStyle(`
      .heart {
        position: absolute;
        width: 20px;
        height: 20px;
        background-color: #FF7F7F;
        transform: rotate(45deg);
        animation: heartbeat 1s ease-out forwards;
        z-index: 999;
      }

      .heart::before,
      .heart::after {
        content: "";
        position: absolute;
        width: 20px;
        height: 20px;
        background-color: #FF7F7F;
        border-radius: 50%;
      }

      .heart::before {
        top: -10px;
        left: 0px;
      }

      .heart::after {
        top: 0px;
        left: -10px;
      }

      @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) {
             // 如果点击的目标是爱心元素,则不处理
             if (event.target.classList.contains('heart')) {
                  return;
             }
            // 使用 pageX 和 pageY 获取页面坐标
            const x = event.pageX;
            const y = event.pageY;

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

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

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

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