ESP32-Web-Server编程- JS 基础5

ESP32-Web-Server编程- JS 基础5

概述

JS 编程内容颇多,我们提供一些简单的示例,先玩再学,边玩边学。

示例1-演示通过 JS 进行温度转换

在这里插入图片描述

资源链接

对应示例的 code 链接 (点击直达代码仓库)

示例2-增加网页弹窗

演示在网页上通过 window.alert()弹出一个弹窗。

<p><button onclick="trige_waring()">Don't clike me</button></p>
<script>function trige_waring() {var a = "Oh, This is a waring";window.alert(a);}
</script>

示例效果

在这里插入图片描述

点击按钮:

在这里插入图片描述

资源链接

对应示例的 code 链接 (点击直达代码仓库)

示例3- 使用 console.log() 在控制台输出 debug 信息。

console.log() 方法用于在控制台输出信息。

该方法对于开发过程进行测试很有帮助。

提示: 在测试该方法的过程中,控制台需要可见 (浏览器按下 F12 打开控制台)。

示例解析

前端代码

在前端代码的 js 脚本中,调用 console.log 方法。当运行到该函数时,将在控制台中输出对应的 log 提示。

<script>var count = 0;function trige_waring() {var myObj = { name : "LaoWang", say : "Ohh, you click me" };console.log(myObj);console.log("click_count=", count);count = count + 1;}
</script>

F12按下后,每次点击按钮,控制台出现 console 提示:

全局变量 click 记录按下的次数。并打印固定的 Json 对象:

在这里插入图片描述
使用 console 需要打开浏览器控制台,可以通过 F12 快捷键打开控制台程序。

资源链接

对应示例的 code 链接 (点击直达代码仓库)

示例4-通过鼠标的事件机制演示 JS event 机制

演示通过鼠标的事件机制,在网页上显示不同的效果。

示例解析

前端设计

前端代码建立了两断 text 文字,并设置了鼠标按下-mouseDown()、鼠标抬起-mouseUp(),鼠标在文字上-mouseOver()、鼠标离开文字-mouseOut() 四个事件。

<body><p id="text1" onmousedown="mouseDown()" onmouseup="mouseUp()">Press down to change color to red. Release to change to green.</p><p id="text2" onmouseover="mouseOver()" onmouseout="mouseOut()">Move the mouse over this text to make it bigger.</p><script>function mouseDown() {document.getElementById("text1").style.color = "red";}function mouseUp() {document.getElementById("text1").style.color = "green";}function mouseOver() {document.getElementById("text2").style.fontSize = "20px";}function mouseOut() {document.getElementById("text2").style.fontSize = "16px";}</script></body>
示例效果

移动鼠标在不同的文字上,可以看到不同的效果:

在这里插入图片描述

主要是演示鼠标事件的使用方法。在网页端可以设计鼠标按下-mouseDown()、鼠标抬起-mouseUp(),鼠标在文字上-mouseOver()、鼠标离开文字-mouseOut() 四个事件。

资源链接

对应示例的 code 链接 (点击直达代码仓库)

总结

1)本节主要是演示一些典型的 JS 编程的用法。在 ESP32 Web Server 编程中,JS 部分负责很多动态、解释性的内容,是需要重点了解的内容,我们将在后面逐渐学习更多有趣的应用。

资源链接

1)ESP32-Web-Server ESP-IDF系列博客介绍

2)下一篇:ESP32-Web-Server 实战编程-通过网页控制设备的 GPIO

(码字不易感谢点赞或收藏)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/177935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文献速递:使用人工智能进行超声检查的文章:读者指南(超声影像人工智能专题文献分享)

文献速递&#xff1a;使用人工智能进行超声检查的文章&#xff1a;读者指南&#xff08;超声影像人工智能专题文献分享&#xff09; 01 文献速递介绍 本文讨论了人工智能&#xff08;AI&#xff09;如何将医学影像转化为可挖掘的高通量数据&#xff0c;并强调了机器学习算法…

【攻防世界-misc】reverseMe

1.下载后&#xff0c;得到这样一张图片 2.利用在线翻转网站获取值&#xff0c;在线旋转图片工具|在线翻转照片|调整照片方向|生成镜像图片 - 改图宝 反转后的图片&#xff0c;将值提取并上传。

Java零基础——Nginx篇

1.【熟悉】服务器概述 1.1 目前常见的web服务器 1&#xff0c;Apache(http://httpd.apache.org) 它是世界上用的最多的web服务器&#xff0c;市场占有率达60%左右&#xff0c;模块非常丰富&#xff0c;系统非常稳定&#xff0c;可移植性好&#xff0c;但是比较消耗资源 2&…

数据采集静态存储SRAM芯片EMI7064

数据采集是利用一种装置&#xff0c;从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛应用在各个领域。比如摄像头&#xff0c;麦克风&#xff0c;都是数据采集工具。 ram工作时可以随时从任何一个指定的地址写入(存入&#xff09;或读出(取出)信息。RAM在计算…

开源与闭源:技术创新的两难选择

在当前数字化时代&#xff0c;技术界一直存在着关于开源与闭源软件的激烈辩论。最近&#xff0c;特斯拉CEO马斯克的公开表示引发了广泛的关注&#xff0c;他认为OpenAI不应该闭源&#xff0c;并宣布将首款聊天机器人开源。这一决定再次引发了人们对于开源与闭源的讨论。 开源的…

Rust之构建命令行程序(一):接受命令行参数

开发环境 Windows 10Rust 1.73.0 VS Code 1.84.2 项目工程 这次创建了新的工程minigrep. IO工程&#xff1a;构建命令行程序 这一章回顾了到目前为止你所学的许多技能&#xff0c;并探索了一些更标准的库特性。我们将构建一个与文件和命令行输入/输出交互的命令行工具&#…

openssl版本号解析

https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_VERSION_NUMBER.html #define OPENSSL_VERSION_NUMBER 0xnnnnnnnnnL 从上面文章中可以看得出版本号共9位数&#xff08;最后的L表示长整型&#xff09; 如 0x101010ef 省略了前面的一个0, 实际为 0x0101010ef 版本是 1.…

Pangolin报错

【Error】error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’? 解决办法 CMakeLists指定c版本为c14以上 set( CMAKE_CXX_FLAGS "-stdc14" )gcc版本高于4.9以上

业务流程图用什么软件绘制?

在企业的日常工作中&#xff0c;对于业务流程的把控和优化显得非常重要。为了更好地理解和管理业务流程&#xff0c;业务流程图便应运而生。 业务流程图是企业管理的图形化工具&#xff0c;它描述了企业在生产和服务提供过程中&#xff0c;在各个环节中所涉及的各种操作、任务…

python如何抓取携程酒店的价格,让工作更简单点

有时候老板没事安排点事&#xff0c;为了偷懒&#xff0c;只能使出大招&#xff0c;毕竟自己不是那么老老实实干活的人&#xff0c;整理数据这类累和繁琐的活&#xff0c;我怎么能轻易动&#xff0c;好在gpt可以帮我来实现&#xff0c;有人可能会说&#xff0c;这么点内容你还不…

mac mini只有键盘怎么连接蓝牙鼠标

刚才遇到个问题&#xff0c;手头只有一个键盘和一个蓝牙鼠标&#xff0c;但是最新版本的系统对默认的纯键盘控制不太友好&#xff0c;得自己试出怎么连接&#xff0c;这里把如何在mac mini上用一个键盘连接上蓝牙鼠标&#xff0c;手上这台mini系统版本是14.0&#xff0c;有需要…

Lua判断字符串包含另一个字符串

string.find(“原字符串”,“目标字符串”) 返回这个子串的起始索引和结束索引&#xff0c;否则就会返回nil local index sting.find("ABCD",AB) --结果 1 2 if(index ~ nil)return true endstring.match(“原字符串”,“目标字符串”) local result string.mat…

linux常见命令合集

layout: post # 使用的布局&#xff08;不需要改&#xff09; title: linux使用命令合集 # 标题 subtitle: linux常用命令 #副标题 date: 2023-11-20 # 时间 author: BY ThreeStones1029 # 作者 header-img: img/about_bg.jpg #这篇文章标题背景图片 catalog: true # 是否归档 …

Pytorch:torch.Generator()

PyTorch 通过 torch.Generator 类来操作随机数的生成 1. 默认的随机数生成器 import torch# 设置默认的随机数种子 torch.manual_seed(0)# 查看默认的随机数种子 torch.initial_seed()2. 指定 torch.Generator随机数生成器 g torch.Generator() torch.Generator 实例的方法…

OpenCvSharp从入门到实践-(05)通道

目录 1、拆分通道 1.1、实例1-拆分一副BGR图像的通道 1.2、实例2-拆分一副HSV图像的通道 2、合并通道 2.1 实例3-合并通道的顺序不同&#xff0c;图像的显示效果也不通 实例4-合格H通道图像、S通道图像、V通道图像 3、综合运用拆分通道和合并通道 2.2、实例5-只把H通道的…

C++ new / delete ,malloc / free 区别

一、概述 都可以⽤来在堆上分配和回收空间。new /delete 是操作符&#xff0c;malloc/free 是库函数。 二、执行new的过程 1、分配未初始化的内存空间&#xff08;malloc) 2、使⽤对象的构造函数对空间进⾏初始 化&#xff0c;返回空间的⾸地址。 注意&#xff1a;如果在第…

Vue3-admin-template 导入模板功能

先看效果&#xff1a; 直接上代码&#xff1a; 1.绑定事件&#xff1a; <el-button type"primary" click"templates">模板导入</el-button> 2.写结构样式 <!-- 模板导入 --><el-dialog v-model"Statusimprot" title&quo…

js相同字符串截取拼接

原数据 const list [999-1234567801,999-1234567802,999-1234567803, ]; const list1 [999-1234567899,999-1234567900,999-1234567901, ];期望数据 999-1234567801/2/3 //list 999-1234567899/900/901 //list1处理代码 // 连续号码处理 export const formatNumber (tick…

9.二维数组——打印出杨辉三角形(要求打印出10行)

文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码 前言 本系列为二维数组编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 打印出杨辉三角形&#xff08;要求打印出10行&#xff09;。 二、题目分析 三、解题 程序运行代码 #include<s…

C++求出给定数组中第k大的元素

可以利用快速选择算法来解决。快速选择算法是基于快速排序算法的一种变种&#xff0c;它可以在O(n)的时间复杂度内找到第k大的元素。 快速选择算法的基本思路是选择一个pivot元素&#xff0c;将数组分成小于pivot和大于pivot两部分。如果小于pivot的元素个数大于等于k&#xf…