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

相关文章

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

详解如何在React中执行条件渲染

《详解如何在React中执行条件渲染》在现代Web开发中,React作为一种流行的JavaScript库,为开发者提供了一种高效构建用户界面的方式,条件渲染是React中的一个关键概念,本文将深入探讨... 目录引言什么是条件渲染?基础示例使用逻辑与运算符(&&)使用条件语句列表中的条件渲染总结引言在现代

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如