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

相关文章

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

Python如何去除图片干扰代码示例

《Python如何去除图片干扰代码示例》图片降噪是一个广泛应用于图像处理的技术,可以提高图像质量和相关应用的效果,:本文主要介绍Python如何去除图片干扰的相关资料,文中通过代码介绍的非常详细,... 目录一、噪声去除1. 高斯噪声(像素值正态分布扰动)2. 椒盐噪声(随机黑白像素点)3. 复杂噪声(如伪

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义

CSS place-items: center解析与用法详解

《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程