首页 > 编程语言 >JavaScript 实现点击爱心效果

JavaScript 实现点击爱心效果

时间:2024-01-28 15:34:16浏览次数:36  
标签:function JavaScript 爱心 filter 点击 alpha

可放在网页任何位置,以下是代码:

<script>
(function (e, t) {
  function r() {
    s = s.filter((e) => {
      e.alpha <= 0 ? (t.body.removeChild(e.el), e = null) : (e.y--, e.scale += .004, e.alpha -= .013, e.el.style.cssText = `left:${e.x}px;top:${e.y}px;opacity:${e.alpha};transform:scale(${e.scale},${e.scale}) rotate(45deg);background:${e.color};z-index:99999`);
      return e;
    });
    requestAnimationFrame(r);
  }

  function n() {
    e.onclick = function (e) {
      o(e);
    };
  }

  function o(e) {
    const a = t.createElement("div");
    a.className = "heart", s.push({ el: a, x: e.clientX - 5, y: e.clientY - 5, scale: 1, alpha: 1, color: c() });
    t.body.appendChild(a);
  }

  function i(e) {
    const a = t.createElement("style");
    a.type = "text/css";
    try {
      a.appendChild(t.createTextNode(e));
    } catch (t) {
      a.styleSheet.cssText = e;
    }
    t.head.appendChild(a);
  }

  function c() {
    return `rgb(${~~(255 * Math.random())},${~~(255 * Math.random())},${~~(255 * Math.random())})`;
  }

  let s = [];
  e.requestAnimationFrame = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame || function (e) {
    setTimeout(e, 1e3 / 60);
  };

  i(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}");
  n();
  r();
})(window, document);
</script>

标签:function,JavaScript,爱心,filter,点击,alpha
From: https://www.cnblogs.com/xytz/p/17992912

相关文章

  • JavaScript 实现浏览器级别的弹窗提示
    可放在网页任何位置,以下是代码:1.每次打开都会弹出提示<script>//在页面加载时触发警告框window.onload=function(){alert('这是浏览器级别的弹窗提示!');};</script> 2.打开只弹出一次,刷新网页不会弹出,清理浏览器缓存会再次弹出<script>/......
  • JavaScript DOM对象的尺寸和位置详解
    在DOM对象操作中,其尺寸和位置也是DOM的核心内容,因为js的“交互式应用”几乎少不了对DOM对象的尺寸和位置进行操作,特别是js动画效果。一、关于DOM对象的尺寸和位置介绍DOM对象的尺寸和位置的属性DOM对象的属性描述obj.scrollWidth和obj.scrollHeightDOM对象的内部实......
  • JavaScript DOM之Cookie详解
    cookie有的地方习惯使用复数形式的cookies,指的是网站为了识别用户的身份或者进行一些必要数据的缓存而使用的技术,它的数据是存在用户的终端上,也就是在浏览器上的。一、什么是cookie随着互联网的不断发展各种基于互联网的服务系统逐渐多了起来,我们常常需要记录访问者的一些信息,比......
  • JavaScript DOM对象的尺寸和位置详解
    在DOM对象操作中,其尺寸和位置也是DOM的核心内容,因为js的“交互式应用”几乎少不了对DOM对象的尺寸和位置进行操作,特别是js动画效果。一、关于DOM对象的尺寸和位置介绍DOM对象的尺寸和位置的属性DOM对象的属性描述obj.scrollWidth和obj.scrollHeightDOM对象的内部......
  • JavaScript DOM之Cookie详解
    cookie有的地方习惯使用复数形式的cookies,指的是网站为了识别用户的身份或者进行一些必要数据的缓存而使用的技术,它的数据是存在用户的终端上,也就是在浏览器上的。一、什么是cookie随着互联网的不断发展各种基于互联网的服务系统逐渐多了起来,我们常常需要记录访问者的一些信息,......
  • 在 `tkinter` 中,我们经常使用匿名函数(也称为 `lambda` 函数)来处理按钮点击等事件的回
    在`tkinter`中,我们经常使用匿名函数(也称为`lambda`函数)来处理按钮点击等事件的回调函数¹²。当你使用`tkinter`的`.bind()`或者`Button`的`command`参数来绑定一个函数时,`tkinter`会自动传递一个事件对象给这个函数¹。如果你的函数需要接受额外的参数,或者你不希望......
  • 关于javascript的一些笔记(一)
    在script标签内使用import的时候,必须在script标签加上type=“module”当使用script标签加上type="module"的时候,是当所有模块都加载进来才进行工作的,也就是如果html在script标签下面也是可以正常运行的,他是后解析的当使用script标签加上type="module"的时候,script标签里面......
  • vue实现点击按钮复制到剪切板功能
    //安装clipboard.js//npminstall--saveclipboard.js<template><div>{{params}}</div><el-buttonsize="small"class="btn">复制</el-button></template><script>importClipboardfrom'cl......
  • javascript replaceall 正则表达式
    varstr="dogdogdog";varstr2=str.replace(/dog/g,"cat");console.log(str2);参考:https://www.jb51.net/article/23762.htm?tdsourcetag=s_pcqq_aiomsgstr="dogdogdog12";str=str.replace(newRegExp("[d]","g......
  • 使用 JavaScript 宏删除文档中的特定注释
    有时只需要删除文档中的注释,要怎么快速做到呢?在这篇文章中,我们将会展示如何为ONLYOFFICE创建一个简单的宏,来删除某些特定的或所有评论,从而保持协作的重点和整洁。什么是ONLYOFFICE 宏如果您是一名资深MicrosoftExcel用户,那么相信您已对于VBA宏非常熟悉了。这些宏是帮助您自......