HTML、CSS和JavaScript编写的吹泡泡的网页代码和注释:

2023-10-18 01:52

本文主要是介绍HTML、CSS和JavaScript编写的吹泡泡的网页代码和注释:,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下是使用HTML、CSS和JavaScript编写的吹泡泡的网页代码和注释:

<!DOCTYPE html>
<html>
<head><title>Bubble Blower</title><style>body {background-color: #f2f2f2;}#bubble {position: absolute;background-color: #ffffff;border-radius: 50%;box-shadow: 0px 0px 20px #ffffff;animation: bubble 3s ease-out;animation-fill-mode: forwards;}@keyframes bubble {0% {width: 0px;height: 0px;opacity: 1;}50% {width: 100px;height: 100px;opacity: 0.5;}100% {width: 200px;height: 200px;opacity: 0;}}</style>
</head>
<body><h1>Bubble Blower</h1><button onclick="blowBubble()">Blow Bubble</button><div id="bubble"></div><script>function blowBubble() {// 创建一个div元素作为泡泡var bubble = document.createElement("div");// 给泡泡设置idbubble.setAttribute("id", "bubble");// 将泡泡添加到body中document.body.appendChild(bubble);// 设置泡泡的位置为鼠标点击的位置bubble.style.left = event.clientX - 100 + "px";bubble.style.top = event.clientY - 100 + "px";}</script>
</body>
</html>

注释:

  1. <!DOCTYPE html>:声明文档类型为HTML5。
  2. <html>:HTML文档的根元素。
  3. <head>:文档头部,用于包含文档的元数据。
  4. <title>:文档的标题,显示在浏览器的标签页上。
  5. <style>:用于定义文档的样式。
  6. body:文档的主体部分。
  7. background-color:设置背景颜色为灰色。
  8. #bubble:选择id为bubble的元素。
  9. position:设置元素的定位方式为绝对定位。
  10. background-color:设置元素的背景颜色为白色。
  11. border-radius:设置元素的圆角半径为50%。
  12. box-shadow:设置元素的阴影效果。
  13. animation:设置元素的动画效果,使用名为bubble的动画,持续时间为3秒,缓动方式为ease-out。
  14. animation-fill-mode:设置动画结束后元素的状态,保持在最后一帧的状态。
  15. @keyframes bubble:定义名为bubble的动画。
  16. 0%:动画开始时元素的状态。
  17. 50%:动画进行到50%时元素的状态。
  18. 100%:动画结束时元素的状态。
  19. width:设置元素的宽度。
  20. height:设置元素的高度。
  21. opacity:设置元素的透明度。
  22. <h1>:定义文档的一级标题。
  23. <button>:定义一个按钮。
  24. onclick:设置按钮的点击事件。
  25. blowBubble():定义一个名为blowBubble的函数,用于创建泡泡。
  26. document.createElement("div"):创建一个div元素。
  27. setAttribute("id", "bubble"):给元素设置id属性为bubble。
  28. appendChild(bubble):将元素添加到文档中。
  29. event.clientX:获取鼠标点击的x坐标。
  30. event.clientY:获取鼠标点击的y坐标。
  31. style.left:设置元素的左边距。
  32. style.top:设置元素的上边距。

进阶优化版本

<!DOCTYPE html>
<html><head><title>Bubble Blower</title><style>* {margin: 0;padding: 0;}body {width: 100vw;height: 100vh;overflow: hidden;background-color: #3a3434;}#bubble {position: absolute;/* background-color: #ffffff; */border-radius: 50%;box-shadow: 0px 0px 20px #ffffff;animation: bubble 3s ease-out;animation-fill-mode: forwards;}@keyframes bubble {0% {width: 0px;height: 0px;opacity: 1;filter: hue-rotate(0);}50% {width: 100px;height: 100px;opacity: 0.5;}100% {width: 200px;height: 200px;opacity: 0;filter: hue-rotate(360deg);}}</style>
</head><body><h1>Bubble Blower</h1><!-- <button onclick="blowBubble()">Blow Bubble</button> --><!-- <div id="bubble"></div> --><script>let bodyEle = document.bodybodyEle.addEventListener("click", blowBubble)function blowBubble(event) {// 创建一个div元素作为泡泡var bubble = document.createElement("div");// 给泡泡设置idbubble.setAttribute("id", "bubble");// 将泡泡添加到body中document.body.appendChild(bubble);// 设置泡泡的位置为鼠标点击的位置bubble.style.left = event.clientX + "px";bubble.style.top = event.clientY + "px";bubble.style.backgroundColor=`rgb(${Math.floor(Math.random()*255)},${Math.floor(Math.random()*255)},${Math.floor(Math.random()*255)})`setTimeout(() => {bubble.remove()}, 3000)}let lastExecutedTime = 0;function blowBubbleJieLiu(event){let currentTime = Date.now();let timeSinceLastExecution = currentTime - lastExecutedTime;console.log(currentTime , lastExecutedTime);if (timeSinceLastExecution >= 50) {blowBubble(event)lastExecutedTime=currentTime}else{console.log("不行");return}}bodyEle.addEventListener("mousedown", blowBubble)bodyEle.addEventListener("mousemove", blowBubbleJieLiu)// 随机setInterval(() => {// 创建一个div元素作为泡泡let bubble = document.createElement("div");// 给泡泡设置idbubble.setAttribute("id", "bubble");// 将泡泡添加到body中document.body.appendChild(bubble);// 设置泡泡的位置为鼠标点击的位置w = Math.floor(Math.random()*window.innerWidth)h = Math.floor(Math.random()*window.innerHeight)bubble.style.left = w + "px";bubble.style.top = h + "px";setTimeout(() => {bubble.remove()}, 3000)}, 1500)</script>
</body></html>

这篇关于HTML、CSS和JavaScript编写的吹泡泡的网页代码和注释:的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/229412

相关文章

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性: