位置: IT常识 - 正文

html表白代码(html表白代码动态)

编辑:rootadmin
html表白代码 目录一.引言二.表白效果展示1.惊喜表白2.烟花表白3.玫瑰花表白4.心形表白5.心加文字6.炫酷的特效三.点赞+收藏+评论找我拿源码(24小时之内回复)一.引言

推荐整理分享html表白代码(html表白代码动态),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:html表白代码大全可复制,html表白代码简单,html表白代码大全简单,html表白代码大全可复制免费,html表白代码步骤,html表白代码大全简单,html表白代码大全简单,html表白代码大全可复制免费,内容如对您有帮助,希望把文章链接给更多的朋友!

我们可以用一下好看的网页来表白,下面就有我觉得很有趣的表白代码。评论直接找我要源码也行。

下载整套表白文件

二.表白效果展示1.惊喜表白

2.烟花表白html表白代码(html表白代码动态)

源码:新建一个文本文档,改后缀名为html,直接双击就行了。(修改中间的字,在代码里有注释,是汉字注释),如果你的有问题,那就直接下载我的源码文件就行。

<!DOCTYPE html><html lang="en" ><head><meta charset="UTF-8"><title>surprised</title><link rel="stylesheet" href="css/style.css"><style>body { margin: 0; background: black;}canvas { position: absolute;}</style></head><body><canvas></canvas><canvas></canvas><canvas></canvas><script type="text/javascript">// CLASSESclass Shard { constructor(x, y, hue) { this.x = x; this.y = y; this.hue = hue; this.lightness = 50; this.size = 15 + Math.random() * 10; const angle = Math.random() * 2 * Math.PI; const blastSpeed = 1 + Math.random() * 6; this.xSpeed = Math.cos(angle) * blastSpeed; this.ySpeed = Math.sin(angle) * blastSpeed; this.target = getTarget(); this.ttl = 100; this.timer = 0; } draw() { ctx2.fillStyle = `hsl(${this.hue}, 100%, ${this.lightness}%)`; ctx2.beginPath(); ctx2.arc(this.x, this.y, this.size, 0, 2 * Math.PI); ctx2.closePath(); ctx2.fill(); } update() { if (this.target) { const dx = this.target.x - this.x; const dy = this.target.y - this.y; const dist = Math.sqrt(dx * dx + dy * dy); const a = Math.atan2(dy, dx); const tx = Math.cos(a) * 5; const ty = Math.sin(a) * 5; this.size = lerp(this.size, 1.5, 0.05); if (dist < 5) { this.lightness = lerp(this.lightness, 100, 0.01); this.xSpeed = this.ySpeed = 0; this.x = lerp(this.x, this.target.x + fidelity / 2, 0.05); this.y = lerp(this.y, this.target.y + fidelity / 2, 0.05); this.timer += 1; } else if (dist < 10) { this.lightness = lerp(this.lightness, 100, 0.01); this.xSpeed = lerp(this.xSpeed, tx, 0.1); this.ySpeed = lerp(this.ySpeed, ty, 0.1); this.timer += 1; } else { this.xSpeed = lerp(this.xSpeed, tx, 0.02); this.ySpeed = lerp(this.ySpeed, ty, 0.02); } } else { this.ySpeed += 0.05; //this.xSpeed = lerp(this.xSpeed, 0, 0.1); this.size = lerp(this.size, 1, 0.05); if (this.y > c2.height) { shards.forEach((shard, idx) => { if (shard === this) { shards.splice(idx, 1); } }); } } this.x = this.x + this.xSpeed; this.y = this.y + this.ySpeed; }}class Rocket { constructor() { const quarterW = c2.width / 4; this.x = quarterW + Math.random() * (c2.width - quarterW); this.y = c2.height - 15; this.angle = Math.random() * Math.PI / 4 - Math.PI / 6; this.blastSpeed = 6 + Math.random() * 7; this.shardCount = 15 + Math.floor(Math.random() * 15); this.xSpeed = Math.sin(this.angle) * this.blastSpeed; this.ySpeed = -Math.cos(this.angle) * this.blastSpeed; this.hue = Math.floor(Math.random() * 360); this.trail = []; } draw() { ctx2.save(); ctx2.translate(this.x, this.y); ctx2.rotate(Math.atan2(this.ySpeed, this.xSpeed) + Math.PI / 2); ctx2.fillStyle = `hsl(${this.hue}, 100%, 50%)`; ctx2.fillRect(0, 0, 5, 15); ctx2.restore(); } update() { this.x = this.x + this.xSpeed; this.y = this.y + this.ySpeed; this.ySpeed += 0.1; } explode() { for (let i = 0; i < 70; i++) { shards.push(new Shard(this.x, this.y, this.hue)); } }}// INITIALIZATIONconst [c1, c2, c3] = document.querySelectorAll('canvas');const [ctx1, ctx2, ctx3] = [c1, c2, c3].map(c => c.getContext('2d'));let fontSize = 200;const rockets = [];const shards = [];const targets = [];const fidelity = 3;let counter = 0;c2.width = c3.width = window.innerWidth;c2.height = c3.height = window.innerHeight;ctx1.fillStyle = '#000';//中间的字改这里const text = '鸡你太美'; let textWidth = 99999999;while (textWidth > window.innerWidth) { ctx1.font = `900 ${fontSize--}px Arial`; textWidth = ctx1.measureText(text).width;}c1.width = textWidth;c1.height = fontSize * 1.5;ctx1.font = `900 ${fontSize}px Arial`;ctx1.fillText(text, 0, fontSize);const imgData = ctx1.getImageData(0, 0, c1.width, c1.height);for (let i = 0, max = imgData.data.length; i < max; i += 4) { const alpha = imgData.data[i + 3]; const x = Math.floor(i / 4) % imgData.width; const y = Math.floor(i / 4 / imgData.width); if (alpha && x % fidelity === 0 && y % fidelity === 0) { targets.push({ x, y }); }}//这里是修改字的颜色ctx3.fillStyle = '#FFF';ctx3.shadowColor = '#FFF';ctx3.shadowBlur = 25;// ANIMATION LOOP(function loop() { ctx2.fillStyle = "rgba(0, 0, 0, .1)"; ctx2.fillRect(0, 0, c2.width, c2.height); //ctx2.clearRect(0, 0, c2.width, c2.height); counter += 1; if (counter % 15 === 0) { rockets.push(new Rocket()); } rockets.forEach((r, i) => { r.draw(); r.update(); if (r.ySpeed > 0) { r.explode(); rockets.splice(i, 1); } }); shards.forEach((s, i) => { s.draw(); s.update(); if (s.timer >= s.ttl || s.lightness >= 99) { ctx3.fillRect(s.target.x, s.target.y, fidelity + 1, fidelity + 1); shards.splice(i, 1); } }); requestAnimationFrame(loop);})();// HELPER FUNCTIONSconst lerp = (a, b, t) => Math.abs(b - a) > 0.1 ? a + t * (b - a) : b;function getTarget() { if (targets.length > 0) { const idx = Math.floor(Math.random() * targets.length); let { x, y } = targets[idx]; targets.splice(idx, 1); x += c2.width / 2 - textWidth / 2; y += c2.height / 2 - fontSize / 2; return { x, y }; }}</script></body></html>3.玫瑰花表白

右侧的空地,点击鼠标就会放烟花,下面的都不放源码了,都在在我的 。下载整套表白文件

4.心形表白

每一次刷新颜色都会不一样,包括中间的字

5.心加文字

6.炫酷的特效

三.点赞+收藏+评论找我拿源码(24小时之内回复)
本文链接地址:https://www.jiuchutong.com/zhishi/295871.html 转载请保留说明!

上一篇:YOLOV5更换轻量级的backbone:mobilenetV2(yolov5使用)

下一篇:vue2中无法监听数组和对象的某些变化问题(vue为什么监听不到对象内部属性)

  • 华为Mate X2机身接口是什么

    华为Mate X2机身接口是什么

  • 荣耀x10一共有几个扬声器(荣耀x10有5g吗)

    荣耀x10一共有几个扬声器(荣耀x10有5g吗)

  • 华为nova7pro指纹解锁位置在哪(华为Nova7pro指纹校准指令)

    华为nova7pro指纹解锁位置在哪(华为Nova7pro指纹校准指令)

  • airpods打开盖子无显示(airpods打开盖子橙色灯闪烁)

    airpods打开盖子无显示(airpods打开盖子橙色灯闪烁)

  • 苹果x手机屏幕亮度一会儿亮一会儿暗怎么办(苹果x手机屏幕不亮但是有反应)

    苹果x手机屏幕亮度一会儿亮一会儿暗怎么办(苹果x手机屏幕不亮但是有反应)

  • qq资料验证一直不成功(qq资料验证一直失败怎么办)

    qq资料验证一直不成功(qq资料验证一直失败怎么办)

  • 新iphone要不要用旧id

    新iphone要不要用旧id

  • ip地址的表示方法分为(ip地址的表示方法为nnn.hhh.hhh.hhh)

    ip地址的表示方法分为(ip地址的表示方法为nnn.hhh.hhh.hhh)

  • def代码什么意思(def.diva)

    def代码什么意思(def.diva)

  • 电脑无限自动按空格键(电脑无限自动按空格键和键盘无关)

    电脑无限自动按空格键(电脑无限自动按空格键和键盘无关)

  • ipad已停用一个小时后再试(ipad停用一个小时之后下一次是多久)

    ipad已停用一个小时后再试(ipad停用一个小时之后下一次是多久)

  • 电信5g套餐可以取消吗(电信5G套餐可以领会员吗)

    电信5g套餐可以取消吗(电信5G套餐可以领会员吗)

  • 华为nova7se屏幕材质(华为nova7se屏幕是什么材质)

    华为nova7se屏幕材质(华为nova7se屏幕是什么材质)

  • 苹果七手机为什么用着很卡(苹果七手机为什么不能语音)

    苹果七手机为什么用着很卡(苹果七手机为什么不能语音)

  • 广角摄像头是什么意思(广角摄像头是什么原理)

    广角摄像头是什么意思(广角摄像头是什么原理)

  • 华为gt手表可以关闭蓝牙吗(华为gt手表可以安装应用吗)

    华为gt手表可以关闭蓝牙吗(华为gt手表可以安装应用吗)

  • vivo水滴屏有几款(vivo水滴屏有哪几个型号)

    vivo水滴屏有几款(vivo水滴屏有哪几个型号)

  • 索尼电视连接音响不响(索尼电视连接音响没声音)

    索尼电视连接音响不响(索尼电视连接音响没声音)

  • 手机微信突然没有了怎么办(手机微信突然没有声音)

    手机微信突然没有了怎么办(手机微信突然没有声音)

  • kindle一般能用多少年(kindle能用几年)

    kindle一般能用多少年(kindle能用几年)

  • vivox27nfc功能在哪里打开(vivox27nfc功能是什么意思)

    vivox27nfc功能在哪里打开(vivox27nfc功能是什么意思)

  • 快手怎么设置壁纸(快手怎么设置壁纸背景)

    快手怎么设置壁纸(快手怎么设置壁纸背景)

  • 怎样删除qq音乐云端记录(怎样删除qq音乐里的最近常听的音乐)

    怎样删除qq音乐云端记录(怎样删除qq音乐里的最近常听的音乐)

  • Word中光标到文档开头的快捷键是(word光标怎么移到最前面)

    Word中光标到文档开头的快捷键是(word光标怎么移到最前面)

  •  oppor17通话设置在哪(oppor15通话设置)

    oppor17通话设置在哪(oppor15通话设置)

  • 7p发热严重是什么问题(iphone7p严重发热)

    7p发热严重是什么问题(iphone7p严重发热)

  • 收款音响怎么连接手机(收款音响怎么连接蓝牙)

    收款音响怎么连接手机(收款音响怎么连接蓝牙)

  • 手机不能录像怎么回事(手机不可以录像了)

    手机不能录像怎么回事(手机不可以录像了)

  • 微信禁言怎么解除(微信禁言怎么解决)

    微信禁言怎么解除(微信禁言怎么解决)

  • 天猫旗舰店如何交税(天猫旗舰店如何抢ps5)

    天猫旗舰店如何交税(天猫旗舰店如何抢ps5)

  • 无人驾驶-控制-阿克曼模型(无人驾驶控制方向)

    无人驾驶-控制-阿克曼模型(无人驾驶控制方向)

  • 宁波财税网会计招聘
  • 平均税额怎么算
  • 个人所得税申报是公司申报还是个人申报
  • 新公司成立后的第一个文件是什么
  • 利息收入记借方负数表示增加还是减少
  • 本年已交税费怎么算
  • 个人所得税可以不交税吗
  • 如何查看增值税申报表
  • 个人所得税算错
  • 实收资本增加的原因
  • 黑盘报税流程视频教程
  • 未提供一般纳税人证明
  • 商品房的销售方式有哪些
  • 费用和利润的比例
  • 贴现是融资业务吗
  • 居民企业只就其境内全部所得纳税
  • 申请国家知识产权的条件
  • 现金折扣 会计处理
  • 投资公司的收入就是投资收益吗
  • 企业所得税怎么征收几个点
  • 外汇实收资本如何做账
  • 申报工会经费怎么做账
  • 员工饭卡充值是哪个部门做
  • 反映留存收益的账户
  • 财务费用为什么会出现负数
  • 货款已经收到
  • 怎么在安全模式下卸载更新
  • 销售回款率的具体指标
  • 收到厂家返利怎么做账务处理
  • 增资后持股比例怎么算
  • 如何才能显示效果更好
  • 什么是减值测试方法
  • 分公司不纳入合并
  • 加速折旧法计算公式 CFA
  • 同业代付融资
  • 享受小型微利企业税收优惠的条件
  • 设计资质承担范围
  • php解析配置文件
  • 加工费计入什么成本类别
  • php实现搜索的方式
  • 一般纳税人收到小规模专票怎么抵扣
  • vue前端开发常见问题
  • vue-cli(vue脚手架)超详细教程
  • Python人脸识别智能考勤系统 (供源码,附报告)(可答疑,可调试)
  • javascriptj
  • telnet命令大全
  • 发票打印机如何安装在电脑上
  • mysql 服务器配置
  • phpcms目录结构
  • phpcms api
  • 财务制度设置
  • 差旅费住宿费专票
  • 不开票销售收入怎么做账务处理
  • 入库单金额写错可以改吗
  • 收到个人款怎么做分录
  • 已付款未认证发票怎么做账
  • 公司的商务卡的作用
  • 个税租房抵扣细则
  • 支付销售途中运费怎么算
  • 公司怎么变更公司名称
  • 怎么设置库存限额
  • sql server数据库中的null(空值)
  • linux重置开机密码
  • sql server查询
  • mysql使用的协议
  • win10电脑无权限访问文件怎么解除
  • win10升级20h
  • centos7.6安装kvm
  • Linux中怎么安装nano已经有安装包了
  • window10耳机有电流
  • win7网上邻居怎么共享文件数据
  • Windows8和Windows8 RT版的区别介绍
  • jquery实战
  • JQuery ZTree使用方法详解
  • css ul显示为表格
  • 在JavaScript中声明变量的关键词有
  • javascript如何
  • 江苏4050社保补贴政策2024
  • 浙江国地税联合申报系统官网
  • 土地出让金契税计税依据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设