前端三剑客 HTML+CSS+JavaScript 学习笔记

前端三剑客 - HTML 我们要想搭建一个网站,既需要写一些前端代码,又需要写一些后端代码。前端,当前主流的实现方案,其实就是我们平时所说的“前端开发三剑客”。以上转载于「Dark And Grey」的文章 原文链接:https://blog.youkuaiyun.com/DarkAndGrey/article/details/124390460我们已经了解了 HTML基本开发方式,也了解了浏览器如何查看页面结构。 接下来,就开始具体学习 HTML 中的语法细节。 说是语法细节,实际上学习的是 HTML 中的各种标签。   一个网页上可能有连接 阅读详情

在这里插入图片描述

总结了一些关于前端 HTML&CSS&JavaScript 的知识点,比较适合初学者快速了解和入门〝前端三剑客〞

全文思维导图(大纲)
在这里插入图片描述

1. HTML(结构)

1.1. 概述

  • HTML(HyperText Markup Language): 超文本标记语言

  • 超文本: 越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片、音频、视频等内容

  • 标记语言: 标签构成的语言

1.2. 基础标签

1. 标题标签

  • 在 body 标签中书写标签

· 标题标签中 h1最大,h6最小

在这里插入图片描述

· 效果
在这里插入图片描述

2. 横线便签

  • 在页面文件中书写 hr 标签
<hr>

效果如下


3. 字体标签

· font:字体标签

· face 属性:用来设置字体。如 “楷体”、"宋体"等

· color 属性:设置文字颜色

· size 属性:设置文字大小

<font face="楷体" size="5" color="#ff0000">html演示</font>

html演示

4. 换行标签

  • 在需要换行的地方加上换行标签(br标签)
<br>

5. 段落标签

<p>段落</p>

6. 加粗、斜体、下划线标签

· b:加粗标签

· i:斜体标签

· u:下划线标签,在文字的下方有一条横线

在这里插入图片描述

7. 居中标签

<center>内容</center>

在这里插入图片描述

8. 特殊字符

  • 转义字符

在这里插入图片描述

1.3. 图片、音频、视频标签

1. 定义图片

· src:规定显示图像的 URL

· height:定义图像的高度

· width:定义图像的宽度

2. 定义音频

· 支持的音频格式:MP3、WAV、OGG

· src:规定音频的 URL

· controls:显示播放控件

3. 定义视频

· 支持的音频格式:MP4, WebM、OGG

· src:规定视频的 URL

· controls:显示播放控件

4. 尺寸单位

· height属性和width属性有两种设置方式

· 像素:单位是px

· 百分比。占父标签的百分比。例如宽度设置为 50%,意思就是占它的父标签宽度的一般(50%)

5. 资源路径

· 图片,音频,视频标签都有src属性,而src是用来指定对应的图片,音频,视频文件的路径

· 绝对路径:完整路径
这里的绝对路径是网络中的绝对路径。 格式为: 协议://ip地址:端口号/资源名称。

· 相对路径:相对位置关系
找页面和其他资源的相对路径。
./ 表示当前路径
…/ 表示上一级路径
…/…/ 表示上两级路径

1.4. 超链接标签

  • 定义超链接, 用于链接到另一个资源

  • href:指定访问资源的URL (#为本网址)

  • target:指定打开资源的方式 - _self:在当前页面打开 (默认值) - _blank:在空白页面打开

  • 代码演示

在这里插入图片描述

1.5. 列表标签

1. 有序列表

在这里插入图片描述

  • 有序列表中的 type 属性用来指定标记的标号的类型(数字、字母、罗马数字等)

2. 无序列表

在这里插入图片描述

  • 无序列表中的 type 属性用来指定标记的形状

  • 代码演示

在这里插入图片描述

1.6. 表格标签

  1. table :定义表格 - border:规定表格边框的宽度 - width :规定表格的宽度 - cellspacing:规定单元格之间的空白

  2. th:定义表头单元格

  3. tr :定义行 - align:定义表格行的内容对齐方式

  4. td :定义单元格 - rowspan:规定单元格可横跨的行数 - colspan:规定单元格可横跨的列数

  • 代码演示

在这里插入图片描述

1.7. 布局标签

  1. span:用于组合行内元素 在浏览器上没有换行效果

  2. div:定义HTML文档中的一个区域部分, 常与CSS一起使用, 用来布局网页 在浏览器上会有换行的效果

  • 代码演示

在这里插入图片描述

1.8. 表单标签

  1. 表单:在网页中主要负责数据采集功能,使用标签定义表单

  2. 表单项(元素):不同类型的 input 元素、下拉列表、文本域等

  • 常用标签

在这里插入图片描述

1. from标签属性

  • action:规定当提交表单时向何处发送表单数据,该属性值就是URL

  • method :规定用于发送表单数据的方式(get、post)

    • get:默认值。如果不设置method属性则默认就是该值
      - 请求参数会拼接在URL后边
      - url的长度有限制 4KB
    • post:
      - 浏览器会将数据放到http请求消息体中
      - 请求参数无限制的

2. 表单项标签

  • :表单项

    • 通过type属性控制输入形式

      • text 一行文本

      • password 密码, 输入则显示 *

      • radio 单选按钮, name属性必行拥有相同的值

      • checkbox 多选按钮

      • file 上传文件按钮

      • submit 提交按钮

      • reset 重置按钮

      • button 普通按钮

    • placeholder 该属性为文字提醒, 不影响输入信息

    • checked 该属性为默认选择此选项的内容

  • select:定义下拉列表
    option 定义列表项

    • selected 默认选择此选项的内容
  • textarea:文本域

    • 可以输入多行文本,而 input 数据框只能输入一行文本
    • cols 文本框的宽度
    • rows 文本框的高度
    • name 文本框的名字
  • 注意

    • 标签项的内容要想提交,必须得定义 name 属性。
    • 每一个标签都有id属性,id属性值是唯一的标识。
    • 单选框、复选框、下拉列表需要使用 value 属性指定提交的值。

3. 返回顶部

<span id="top"></span> 顶部位置
<中间代码. . .>
<a href="#top"></a> 返回顶部
  • 代码演示
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册练习</title>
</head>
<body>
<span id="top">首页</span>

<span>a</span><br>
<span>a</span><br>
<span>a</span><br>
<span>a</span><br>
<span>a</span><br>
<span>a</span><br>
... ...

<a href="#top">返回顶部</a>
</body>
</html>
  • 注册页面练习
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册练习</title>
</head>
<body>
<span id="top">首页</span>

<form action="#">
    <label for="un">用户名:</label> <input id="un" type="text" name="username" placeholder="请输入用户名"> <br>
    <label for="pw">密  码:</label> <input id="pw" type="password" name="password" placeholder="请输入密码"><br>

    <spen>性别:</spen>
    <label for="man">男</label><input type="radio" id="man" name="gender" value="1" checked>
    <label for="woman">女</label><input type="radio" id="woman" name="gender" value="0"><br>

    <span>爱好:</span>
    <input type="checkbox" value="lvyou" checked>旅游
    <input type="checkbox" value="dianying">电影
    <input type="checkbox" value="youxi">游戏<br>

    <span>头像:</span>    <select>
    <option value="beijing" selected>北京</option>
    <option value="shanghai">上海</option>
    <input type="file"><br>

    <span>城市:</span>

        <option value="guangzhou">广州</option>
    </select><br>

    <span>个人描述:</span>
    <textarea cols="40" rows="5" name="desc" ></textarea>
    <br/>
    <br/>

    <input type="submit" value="免费注册">
    <input type="reset" value="重置">
    <input type="button" value="普通按钮"><br>


</form>
<a href="#top">返回顶部</a>
</body>
</html>
  • 网页效果图

在这里插入图片描述

2. CSS(表现)

2.1概述

  • Cascading Style Sheet(层叠样式表)

2.2导入方式

1. 内联样式

  • 在标签内部使用style属性,属性值是css属性键值对
<div style="color: red">Hello CSS~</div>

该方式只能作用在这一个标签上,如果其他的标签也想使用同样的样式,那就需要在其他标签上写上相同的样式。复用性比较差。

2. 内部样式

  • 定义style标签,在标签内部定义css样式
<style type="text/css">
	div{
		color: red;
  }
</style>

这种方式可以做到在该页面中复用。

3. 外部样式

  • 定义link标签,引入外部的css文件

编写一个css文件。名为:demo.css,内容如下:

div{
	color: red;
}

· 在html中引入 css 文件。
<link rel="stylesheet"  href="demo.css">

这种方式可以在多个页面复用。其他的页面想使用同样的样式,只需要使用 link 标签引入该css文件。

  • 代码演示

    项目目录结构

在这里插入图片描述

​ 编写页面 02-导入方式.html

在这里插入图片描述

2.3. CSS选择器

1. 元素选择器

在这里插入图片描述

2. id选择器

在这里插入图片描述

3. 类选择器

在这里插入图片描述

4.代码演示

在这里插入图片描述

5. 优先级

  • id > 类 >元素(id 优先 类 优先 元素)

3. JavaScript(行为)

3.1. 概述

  • JavaScript 是一门跨平台、面向对象的脚本语言。无需编译,由浏览器直接解析并执行
  • (JavaScript = ECMAScript + DOM + BOM)

3.2. 基本功能

1. 改变页面内容

在这里插入图片描述

2. 修改指定元素的属性值

在这里插入图片描述

3. 对表单进行校验

在这里插入图片描述

3.3. 引入方式

1. 内部脚本

  • 将 JS代码定义在HTML页面中

  • 在 HTML 中,JavaScript 代码必须位于 标签之间

  • alert(数据)

    • alert(数据) 是 JavaScript 的一个方法,作用是将参数数据以浏览器弹框的形式输出出来。
  • 代码演示

在这里插入图片描述

  • 效果图

在这里插入图片描述

  • 注意

在 HTML 文档中可以在任意地方,放置任意数量的

2. 外部脚本

  • 将 JS代码定义在外部 JS文件中,然后引入到 HTML页面中

步骤如下

  • 第一步

在这里插入图片描述

  • 第二步

在这里插入图片描述

  • 注意

    • 外部脚本不能包含 script 标签
      在js文件中直接写 js 代码即可,不要在 js文件 中写 script 标签
      <script> 标签不能自闭合
      在页面中引入外部js文件时,不能写成 <script src="../js/demo.js" />。
    

3.4. 基础语法

1. 书写语法

  • 区分大小写:与 Java 一样,变量名、函数名以及其他一切东西都是区分大小写的

    每行结尾的分号可有可无
    如果一行上写多个语句时,必须加分号用来区分多个语句。

  • 注释
    - 单行注释:// 注释内容
    - 多行注释:/* 注释内容 */
    注意:JavaScript 没有文档注释

  • 大括号表示代码块 例:

    if (count == 3) { 
      alert(count); 
    } 
    

2. 输出语句

window.alert() 写入警告框

  • 代码演示

在这里插入图片描述

  • 效果图

在这里插入图片描述

document.write() 写入 HTML 输出

  • 代码演示

在这里插入图片描述

  • 效果图

在这里插入图片描述

console.log() 写入浏览器控制台

  • 代码演示

在这里插入图片描述

  • 效果图(可以按F12、点击鼠标右键-检查或者进去浏览器菜单-工具-开发者工具都可以查看控制台信息)

在这里插入图片描述

  • 查看浏览器控制台方式

    方式一

在这里插入图片描述

​ 方式二

在这里插入图片描述

3. 变量

  • 格式 var 变量名 = 数据值;

  • JavaScript 是一门弱类型语言,变量可以存放不同类型的值

  • 变量名命名规则和java语言基本相同
    - 组成字符可以是任何字母、数字、下划线(_)或美元符号($)
    - 数字不能开头
    - 建议使用驼峰命名

var关键字

在这里插入图片描述

  • 注意

在这里插入图片描述

4. 数据类型

  • 使用 typeof 运算符可以获取数据类型
    alert(typeof age); 以弹框的形式将 age 变量的数据类型输出

原始类型

  • 1, number

    数字(整数、小数、NaN(Not a Number))
    注意: NaN是一个特殊的number类型的值

    • 代码演示

在这里插入图片描述

  • 2, string

    字符、字符串,单双引皆可
    注意: 在 js 中 双引号和单引号都表示字符串类型的数据

    • 代码演示

在这里插入图片描述

  • 3, boolean

    布尔。true,false

    • 代码演示

在这里插入图片描述

boolean的取值规则
undefined
null
false
0(包含+0和-0)
NaN
空字符串(”)
以上六种结果为false,其它为true

  • 4, null

    对象为空

    • 代码演示

在这里插入图片描述

  • 5, undefined

    当声明的变量未初始化时,该变量的默认值是 undefined

    • 代码演示
    在这里插入图片描述

引用类型

Object基本上除了基本数据类型都是引用数据类型,如Array、Function、Date、RegExp、Error和自定义封装类等Object类型(根类)。

5. 运算符

基本与Java语言相同

在这里插入图片描述

  • == 和 === 区别

    ==:

    1. 判断类型是否一样,如果不一样,则进行类型转换
    2. 再去比较其值

    ===:js 中的全等于

    1. 判断类型是否一样,如果不一样,直接返回false

    2. 再去比较其值

在这里插入图片描述

  • ==类型转换

    1, string 转换为 number 类型

在这里插入图片描述

​ 2, boolean 转换为 number 类型:true 转为1,false转为0

在这里插入图片描述

​ 3, 其他类型转为boolean

在这里插入图片描述

取值规则:
undefined
null
false
0(包含+0和-0)
NaN
空字符串(”)
以上六种结果为false,其它为true

6. 流程控制语句

  • JavaScript 中提供了和 Java 一样的流程控制语句

• if 语句

在这里插入图片描述

• switch 语句

在这里插入图片描述

• for 循环语句

在这里插入图片描述

• 增强for 循环语句

在这里插入图片描述

• while 循环语句

在这里插入图片描述

• dowhile 循环语句

在这里插入图片描述

7. 函数

  • 函数(就是Java中的方法)是被设计为执行特定任务的代码块;JavaScript 函数通过 function 关键词进行定义。

    • 定义方式

在这里插入图片描述

在这里插入图片描述

  • 注意

在这里插入图片描述

  • 函数调用

    • 函数调用函数:
      函数名称(实际参数列表);
      let result = add(10,20);
  • 注意

JS中,函数调用可以传递任意个数参数
- 例如 let result = add(1,2,3);
它是将数据 1 传递给了变量a,将数据 2 传递给了变量 b,而数据 3 没有变量接收。

在这里插入图片描述

3.5. 常用对象

1. Array对象

JavaScript Array对象用于定义数组

  • 定义格式

在这里插入图片描述

  • 元素访问

    • 格式: arr[索引] = 值;

    代码演示

在这里插入图片描述

  • 特点

    • JavaScript 中的数组相当于 Java 中集合。数组的长度是可以变化的,而 JavaScript 是弱类型,所以可以存储任意的类型的数据。

    代码演示

在这里插入图片描述

  • 属性

    • 常用对象属性

在这里插入图片描述

​ 1, length属性

​ 该属性可以动态的获取数组的长度。有了这个length属性,我们就可以遍历数组了

​ 2, for循环遍历数组

在这里插入图片描述

  • 方法

    • 常用方法

在这里插入图片描述

​ 1, push 函数

​ 作用: 给数组添加元素,也就是在数组的末尾添加元素

​ 参数表示要添加的元素

在这里插入图片描述

​ 2, splice 函数

​ 作用: 删除元素

​ 参数1:索引。表示从哪个索引位置删除
​ 参数2:个数。表示删除几个元素

在这里插入图片描述

2. String对象

  • 定义格式

在这里插入图片描述

  • 属性

    • String对象提供了很多属性 (这里只举例最常用的)

    • 属性 length ,该属性是用于动态的获取字符串的长度

  • 函数

    • String对象提供了很多函数(方法) (这里只举例最常用的)

    • charAt() ,返回在指定位置的字符

    • indexOf() ,检索字符串

    • trim() ,去掉字符串两端的空格

    代码演示

在这里插入图片描述

  • 应用场景

在这里插入图片描述

3. 自定义对象

  • 定义格式

在这里插入图片描述

​ 1, 调用属性的格式
​ 对象名.属性名

​ 2, 调用函数的格式
​ 对象名.函数名()

代码演示

在这里插入图片描述

4. BOM对象

  • 介绍

    • BOM:Browser Object Model 浏览器对象模型。也就是 JavaScript 将浏览器的各个组成部分封装为对象。
  • 组成

    • Window:浏览器窗口对象

    • Navigator:浏览器对象

    • Screen:屏幕对象

    • History:历史记录对象

    • Location:地址栏对象

    BOM 中的各个对象和浏览器的各个组成部分的对应关系图

在这里插入图片描述

  • Window对象
    • window 对象是 JavaScript 对浏览器的窗口进行封装的对象。

    • 获取window对象

    • 该对象不需要创建直接使用 window,其中 window. 可以省略。

两种调用方式

在这里插入图片描述

  • window对象属性

    • window 对象提供了用于获取其他 BOM 组成对象的属性

    • 如果想使用 Location 对象的话,就可以使用 window 对象获取;写成 window.location,而 window. 可以省略,简化写成 location 来获取 Location 对象。

在这里插入图片描述

  • window对象函数

    • 常用的函数

    setTimeout(function,毫秒值) : 在一定的时间间隔后执行一个function,只执行一次
    setInterval(function,毫秒值) :在一定的时间间隔后执行一个function,循环执行

在这里插入图片描述

confirm代码演示

在这里插入图片描述

定时器代码演示

在这里插入图片描述

  • 案例演示

    需求一,每隔1秒,灯泡切换一次状态

在这里插入图片描述

​ 需求一代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript演示</title>
</head>
<body>

<input type="button" onclick="on()" value="开灯">
<img id="myImage" border="0" src="../imgs/off.gif" style="text-align:center;">
<input type="button" onclick="off()" value="关灯">

<script>
    function on(){
        document.getElementById('myImage').src='../imgs/on.gif';
    }

    function off(){
        document.getElementById('myImage').src='../imgs/off.gif'
    }
    
    //定义一个变量,用来记录灯的状态,偶数是开灯状态,奇数是关灯状态
    var x = 0;
    //使用循环定时器
    setInterval(function (){
        if(x % 2 == 0){//表示是偶数,开灯状态,调用 on() 函数
            on();
        }else {  //表示是奇数,关灯状态,调用 off() 函数
            off();
        }
        x ++;//改变变量的值
    },1000);

</script>
</body>
</html>

​ 需求二,实现点击按钮进行开灯、关灯功能

在这里插入图片描述

​ 需求二代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!--方式1:在下面input标签上添加 onclick 属性,并绑定 on() 函数-->
    <input type="button" value="点我" onclick="on()"> <br>
    <input type="button" value="再点我" id="btn">

    <script>
        function on(){
            alert("我被点了");
        }
      	//方式2:获取 id="btn" 元素对象,通过调用 onclick 属性 绑定点击事件
        document.getElementById("btn").onclick = function (){
            alert("我被点了");
        }
    </script>
</body>
</html>
  • History对象
    • History 对象是 JavaScript 对历史记录进行封装的对象。
  • 获取History对象

    • 使用 window.history获取,其中window. 可以省略
      window.history.方法();
      history.方法();
  • History对象函数

    当点击向左的箭头,就跳转到前一个访问的页面,这就是 back() 函数的作用;
    当我们向右的箭头,就跳转到下一个访问的页面,这就是 forward() 函数的作用。

在这里插入图片描述

  • Location对象
    • Location 对象是 JavaScript 对地址栏封装的对象。可以通过操作该对象,跳转到任意页面。

在这里插入图片描述

  • 获取Location对象

    • 使用 window.location获取,其中window. 可以省略
      window.location.方法();
      location.方法();
  • Location对象属性

    • Location对象提供了很多属性。经常用的只有一个属性 href
      href 设置或返回完整的 URL

    代码演示

在这里插入图片描述

  • 案例演示

    • 需求:3秒跳转到百度首页

在这里插入图片描述

5. DOM对象

  • 介绍

    • DOM:Document Object Model 文档对象模型。也就是 JavaScript 将 HTML 文档的各个组成部分封装为对象。

    • XML 文档中的标签需要自己写代码解析,而 HTML 文档是浏览器解析

  • 分类

    1, 核心DOM
    (通用的标准)

    • Document:整个文档对象

    • Element:元素对象

    • Attribute:属性对象

    • Text:文本对象

    • Comment:注释对象

    左边是 HTML 文档内容,右边是 DOM 树

在这里插入图片描述

​ 2, XML DOM

​ -针对 XML 文档的标准模型

​ 3, HTML DOM

   -针对 HTML 文档的标准模型

该标准是在核心 DOM 基础上,对 HTML 中的每个标签都封装成了不同的对象

​ 例如: 标签在浏览器加载到内存中时会被封装成 Image 对象,同时该对象也是 Element 对象。

​ 例如: 标签在浏览器加载到内存中时会被封装成 Button 对象,同时该对象也是 Element 对象。

  • 作用

    JavaScript 通过 DOM, 就能够对 HTML进行操作了

    • 改变 HTML 元素的内容

    • 改变 HTML 元素的样式(CSS)

    • 对 HTML DOM 事件作出反应

    • 添加和删除 HTML 元素

  • 获取Element对象

    • Document 对象中提供了以下获取 Element 元素对象的函数

    • getElementById()
      根据id属性值获取,返回单个Element对象

    • getElementsByTagName()
      根据标签名称获取,返回Element对象数组

    • getElementsByName()
      根据name属性值获取,返回Element对象数组

    • getElementsByClassName()
      根据class属性值获取,返回Element对象数组

  • 代码演示

基础代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <img id="light" src="../imgs/off.gif"> <br>

    <div class="cls">代码演示</div>   <br>
    <div class="cls">JavaScript</div> <br>

    <input type="checkbox" name="hobby"> 电影
    <input type="checkbox" name="hobby"> 旅游
    <input type="checkbox" name="hobby"> 游戏
    <br>
    <script>
		//在此处书写js代码
    </script>
</body>
</html>

需求&代码

在这里插入图片描述

  • HTML Element对象使用

    查询文档步骤

    HTML 中的 Element 元素对象有很多,以后可以根据具体的需求查阅文档使用。

在这里插入图片描述

  • 代码演示

基础代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <img id="light" src="../imgs/off.gif"> <br>

    <div class="cls">代码演示</div>   <br>
    <div class="cls">JavaScript</div> <br>

    <input type="checkbox" name="hobby"> 电影
    <input type="checkbox" name="hobby"> 旅游
    <input type="checkbox" name="hobby"> 游戏
    <br>
    <script>
		//在此处书写js代码
    </script>
</body>
</html>

需求&代码

在这里插入图片描述

在这里插入图片描述

3.6. 事件监听

1. 概念

HTML 事件是发生在 HTML 元素上的“事情”。比如:页面上的 按钮被点击、鼠标移动到元素之上、按下键盘按键 等都是事件。
事件监听是JavaScript 可以在事件被侦测到时==执行一段逻辑代码。例如点击按钮实现替换图片,校验用户输入的内容并给出提示信息

2. 事件绑定

方式一

通过 HTML标签中的事件属性进行绑定

在这里插入图片描述

方式二

通过 DOM 元素属性绑定

在这里插入图片描述

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!--方式1:在下面input标签上添加 onclick 属性,并绑定 on() 函数-->
    <input type="button" value="点我" onclick="on()"> <br>
    <input type="button" value="再点我" id="btn">

    <script>
        function on(){
            alert("被点击了");
        }
      	//方式2:获取 id="btn" 元素对象,通过调用 onclick 属性 绑定点击事件
        document.getElementById("btn").onclick = function (){
            alert("被点击了");
        }
    </script>
</body>
</html>

3. 常见事件

  • 常用的事件属性列举

在这里插入图片描述

  • onfocus 获得焦点事件

在这里插入图片描述

  • onblur 失去焦点事件

在这里插入图片描述

  • onmouseout 鼠标移出事件
    onmouseover 鼠标移入事件

在这里插入图片描述

  • onsubmit 表单提交事件

    • 带有表单的页面
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form id="register" action="#" >
        <input type="text" name="username" />
        <input type="submit" value="提交">
    </form>
    <script>
        
    </script>
</body>
</html>

代码实现

在这里插入图片描述

3.7. 表单验证案例

1. 案例需求

登录页面

在这里插入图片描述

案例需求

在这里插入图片描述

2. 代码演示

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>登录</title>
    <style>
        *{
            margin:0;
            padding:0;
            box-sizing:border-box;
        }
        body {
            background-image: url("../file/bg.jpg");
            background-size: cover;
            font-family: "微软雅黑", sans-serif;
        }
        .login {
            position: absolute;
            top: 50%;
            left: 50%;
            margin: -150px 0 0 -150px;
            width:300px;
            height:300px;
        }
        .login h1 {
            color:#555555;
            text-shadow: 0px 10px 10px #CDC673;
            letter-spacing:2px;text-align:center;
            margin-bottom:20px;
        }
        input{
            padding:10px;
            width:100%;
            color:white;
            margin-bottom:10px;
            background-color:#555555;
            border: 1px solid black;
            border-radius:5px;
            letter-spacing:2px;
        }
        form button{
            width:100%;
            padding:10px;
            margin-bottom:10px;
            background-color:#CDC673;
            border:1px solid black;
            border-radius:5px;
            cursor:pointer;
        }
    </style>
</head>
<body class="login">
<h1>Login</h1>
<form action="" method="post" id="loginForm">
    <input id="username" type="text" name="username" placeholder="请求输入用户名">
    <span id="usernameMsg" style="color: red;display: none">用户名不符合规则</span>
    <input id="password" type="password" name="password" placeholder="请输入密码">
    <span id="passwordMsg" style="color: red;display: none">密码不符合规则</span>
    <button type="submit" id="login">登录</button>
    <button type="submit">注册</button>
</form>

<script>
    //在此处编写js代码实现功能
    //获取用户名的输入框

    //获取用户名输入框,并绑定失去焦点事件
    let usernameObj = document.getElementById("username");
    usernameObj.onblur = checkUserName;

    //获取密码输入框,并绑定失去焦点事件
    let passwordObj = document.getElementById("password");
    passwordObj.onblur = checkPassword;

    function checkUserName() {
        //定义正则表达式规则
        let usernameReg = /^\w{6,12}$/;
        //获取用户输入的用户名
        let username = usernameObj.value.trim();
        //校验用户名是否符合正则规则
        let flag = usernameReg.test(username);
        //判断是否符合规则,如果不符合给出提示
        if(!flag) {
            document.getElementById("usernameMsg").style.display = "block";
        } else {
            document.getElementById("usernameMsg").style.display = "none";
        }

        return flag;
    }

    function checkPassword() {
        //定义正则表达式规则
        let passwordReg = /^\d{6,12}$/;
        //获取用户输入的密码
        let password = passwordObj.value.trim();
        //校验密码是否符合正则规则
        let flag = passwordReg.test(password);
        //判断是否符合规则,如果不符合给出提示
        if(!flag) {
            document.getElementById("passwordMsg").style.display = "block";
        } else {
            document.getElementById("passwordMsg").style.display = "none";
        }

        return flag;
    }

    //给表单绑定表单提交事件
    document.getElementById("loginForm").onsubmit = function() {
        return checkUserName() && checkPassword();
    }

</script>
</body>
</html>

3.8. RegExp(正则表达式)

1.概述

RegExp 是正则对象。正则对象是判断指定字符串是否符合规则。 在 js 中对正则表达式封装的对象就是正则对象。

2. 创建对象

  • 直接创建方式:注意不要加引号
    var reg = /正则表达式/;

  • 创建 RegExp 对象
    var reg = new RegExp(“正则表达式”);

3. 函数

  • test(str) :判断指定字符串是否符合规则,返回 true或 false

4. 正则表达式

  • 定义

    •正则表达式定义了字符串组成的规则。也就是判断指定的字符串是否符合指定的规则,如果符合返回true,如果不符合返回false。

  • 常用规则

在这里插入图片描述

代码演示

// 规则:单词字符,6~12
//1,创建正则对象,对正则表达式进行封装
var reg = /^\w{6,12}$/;

var str = "abcccc";
//2,判断 str 字符串是否符合 reg 封装的正则表达式的规则
var flag = reg.test(str);
alert(flag);

3.9. 编写js代码的基本流程

  1. 确定事件

  2. 确定元素

  3. 绑定事件

  4. 编写业务逻辑(可能包含dom操作)

先写到这, 后期会持续更新

前端三剑客:HTML+CSS+JavaScript 终极实战指南 阅读详情

相关推荐

避坑指南:用Adams做滚珠丝杠仿真时90%人会遇到的3个建模错误

本文针对使用Adams进行滚珠丝杠动力学仿真时常见的三大建模错误,提供了详细的避坑指南。重点解析了如何避免因直接导入CAD几何体导致的性能与精度问题,科学设置接触参数以提升计算效率与结果平滑度,以及通过规范的命名与组织管理模型,确保仿真过程高效可靠。

gin88的博客 573

前端知识体系思维导图

前端知识体系思维导图 前言 hello大家好,我是"风不识途",本文是想分享一下,笔者在自学前端时所学到的知识,总结的思维导图(并不包含前端所有知识点),很多都是结合自己的笔记来进行总结的思维导图哟; 本篇文章适合人群:正在自学前端的小伙伴,可以参考前端大概都需要学习哪些技术,或者是已经学习过的兄弟姐妹,可以结合思维导图对面试、复习串联知识点进行复习; 如需查看源文件????:已经上传的Github仓库中,对于访问Github比较慢的小伙伴,我也贴心的上传到Gitee仓库了,如果对你有帮助的话????,那

weixin_44763882的博客 8078

某盾blackBox逆向——纯算

某盾blackBox逆向——纯算

Lzyydsb的博客 5892

HTML新人基础笔记总结加“思维导图”

结构。

J3259392566的博客 1351

手把手教你用ZYNQ PS端GPIO模拟SPI驱动OLED屏幕(附Vivado工程)

本文详细介绍了如何利用ZYNQ PS端的EMIO功能,通过GPIO模拟SPI协议驱动SSD1306 OLED屏幕。从Vivado工程配置、SPI协议软件实现到SSD1306驱动开发,提供了完整的解决方案和优化技巧,适合嵌入式开发者快速上手。

weixin_30776545的博客 130

泛微OAe9-自定义资源看板

OA中,有一个很好用的功能:会议室预约。对于一间设立的会议室,同一时间段内,肯定会有不同的人预约同一间会议室,并且,在资源看板里,能看清各个时间段会议室的占用情况,可是会议室资源是有限的,显然不可能让多个人在同一时间段内预约同一间会议室,如会议室已占用,其他人再次申请时,应当拒绝预约。

小松鼠的博客 1848

HTML+CSS+JS笔记

超文本标记语言编程语言标记语言web 页面。

2301_79880794的博客 2406

Docker篇——Docker常用命令大全!史上最全面的Docker命令,涵盖常规命令、镜像基本命令、容器基本命令以及常用其他命令,一篇文章速通!

本篇文章介绍的关于DOcker的命令非常全面,Docker常见的命令介绍完毕,涉及到的命令比较繁杂,希望大家可以收藏并坚持学习。后续还会持续更新相关技术点,敬请期待

我热爱学习,也乐于分享。无论是科技前沿的洞见,还是生活中的小技巧,我都会在这里与你分享。我相信,知识就是力量,而分享则能让这份力量得到更好的传递。 5746

前端三剑客的技术介绍

除了基本的HTML标签外,还有许多其他的标签和元素,如表格、表单、链接、音频、视频等,可以扩展HTML的功能和特性。综上所述,HTML是一种用于创建Web页面和其他可在Web浏览器中看到的信息的标准标记语言,具有简单易学、灵活性高、可扩展性强等特点,是Web开发和设计中必不可少的技能。综上所述,CSS是一种用于描述Web页面外观和样式的标记语言,具有分离性、层次性、可扩展性和可重用性等特点,是Web开发中必不可少的技能。可重用性:CSS样式可以在不同的页面和元素中重复使用,从而减少代码量,提高效率。

胡晗靓的Java学习博客 700

基于PyTorch的BP神经网络PID控制器动态调参实战

本文详细介绍了基于PyTorch的BP神经网络PID控制器动态调参实战,结合BP神经网络的自适应能力和PID控制算法的经典优势,实现工业控制中的高效参数调整。通过PyTorch实现BP-PID融合架构,包括网络设计、损失函数优化及动态调参技巧,显著提升控制性能,适用于温度控制、电机控制等场景。

weixin_29094775的博客 521

3.38 工业缺陷检测实战:物体表面缺陷检测,从图像处理到深度学习

本文介绍了工业缺陷检测的完整流程,从传统图像处理到深度学习方法。首先定义了缺陷检测任务的目标和应用场景,然后详细讲解了传统图像处理方法(边缘检测、阈值分割等)和深度学习方法(分类、检测、分割模型)。文章最后总结了核心要点,提出了思考题和实践建议,建议从简单方法开始逐步优化。下一篇将介绍工业视觉基础技术——相机标定与角点检测。

yonggeit的博客 2886

JavaWeb 学习笔记 day01 前端三剑客 HTML CSS JavaScript

JavaWeb 学习笔记 day01HTMLHTML的组成HTML中的特殊字符HTML中的常用标签标题标签超链接标签列表标签img标签,用来显示图片表格标签iframe标签:在一个 HTML 页面上显示另外一个 HTML 页面表单标签div span pCSSCSS 与 HTML 结合的方式CSS 选择器JavaScriptJavaScript 和 html 代码的结合方式 HTML HTML的组成 约束声明 HTML 标签表示 HTML 的开始,HTML 标签一般分为两部分:head 和 body he

yu1590的博客 325

QEMU理解与分析系列(11):QEMU内存机制

在物理机上,CPU 对于内存的访问在保护模式下通过分段分页的形式实现。在该模式下,CPU 访问时使用的是虚拟地址,通过 MMU 映射到物理地址,将虚拟地址转换为物理地址才能访问实际的物理内存。同样的,虚拟机模拟的物理机同样需要有上述的机制,也需要有从虚拟地址到物理地址的转换。这里需要注意,模拟的物理机的物理地址本质上是 qemu 的虚拟地址。

swh547的博客 49

前端学习笔记-三剑客html,css,js入门

虽然后期开发主要使用vue框架和现成的组件,不太会直接手敲三剑客,但基于它们从0构建对于前端的概念,对于新手仍然有很大意义.作为前端入门,html,css,js这三剑客是绕不开的基础.本文主要展示我学习过程中梳理的思维导图,构建整体框架.JS 负责页面的行为、交互、数据处理和 DOM 操作。HTML 定义了网页的结构和语义。CSS 负责页面的“颜值”

m0_52701792的博客 51

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

黑马程序员java web学习笔记--前端基础(上)三剑客HTML+CSS+JS

浏览器对代码进行解析渲染的部分。不同浏览器内核不同,对前端代码解析效果会有差异。-----Web标准。

ekili的博客 1321

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

前端学习分享

前端学习

weixin_51227348的博客 519

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

2024年Web前端最新Web前端开发三剑客是做什么的?,web前端电话面试技巧有哪些

嵌入式,是将所有的样式放在一个或多个以CSS为拓展名的外部样式表文件中,通过标记将外部样式表文件链接到HTML文件中,简而言之就是HTML文件域CSS文件单独存在,再通过Link的方式将CSS所写的样式添加到HTML中。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

2401_84435838的博客 961

前端三剑客 HTML、CSS、JavaScript 入门到上手

HTML、CSS、JavaScript 基本语法大全,教你从入门到上手

weixin_46448719的博客 1万+

【前端开发】HTML+CSS+JavaScript前端三剑客的基础知识体系了解

小编本期主要讲解了关于前端三剑客的基础认知:HTML+CSS+JavaScript的基础知识

GGBond778的博客 1万+

前端“三剑客”——HTML,CSS,JS

关于对web部分基础知识的总结

欢迎来到 晨 的博客 1万+

前端三剑客HTML+CSS+JS

先来说一下这三种分别是什么吧。HTML是用来描述网页的一种语言,可以在web页面上使用的。HTML可以让你创建文本,添加图片,创建连接等等在浏览器中以页面的形式显示出来。而CSS是另一种标记语言,主要用在设置HTML页面中文本的内容(如字体,大小对齐方式等),图片的样式以及版面的布局和外观等等。最后JavaScript是一种脚本语言,与Java完全截然不同,它允许网页具有动态交互的功能,例如处理用户的输入,操作DOM,与服务器向通信等等。HTML相当于来构建网页的框架结构,而CSS是用来美化网页的样式,JS

2402_85301917的博客 941

前端三剑客,html,css,javascript,vue框架

HTML 教程 | 菜鸟教程HTML 教程- (HTML5 标准) 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。 您可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析。 在本教程中,您将学习如何使用 HTML 来创建站点。 HTML 很容易学习!相信您能很快学会它! HTML 实例 本教程包含了数百个 HTML 实例。 使用本站的编辑器,您可..https://www.runoob.co..

qq_51778285的博客 6272

前端三剑客(HTML,CSS,JavaScript)

首先简单说明三个语言的作用HTML进行网页的结构搭建,例如文本,链接,图片视频等CSS进行网页的美化,例如字体颜色,按钮图形等Javascript简称JS进行网页的交互,例如点击按钮后的跳转设置等。

2401_89408098的博客 945

前端三剑客 —— HTML (上)

前端三剑客 —— HTML (上)

weixin_51562484的博客 1544

前端三剑客 HTML、CSS、JavaScript 入门到上手,web前端好学吗

如果一个变量没有被初始化过, 结果就是 undefined, 是 undefined 类型var a;undefined 和字符串进行相加, 结果进行字符串拼接undefined 和数字进行相加, 结果为 NaN。

2401_84138785的博客 1385

前端三剑客:HTML、CSS、JavaScript是如何协同工作的?

CSS(层叠样式表)的核心作用是美化HTML结构,相当于给房子装修,定义元素的颜色、大小、布局、间距等视觉效果,让网页从单调的骨架变得美观。CSS 不会改变HTML的结构,只会作用于结构中的元素,通过选择器定位到具体标签,再设置样式。比如给上面的HTML添加CSS:通过CSS的选择器(类选择器 .container、ID选择器 #text、标签选择器 h1),我们精准定位到HTML元素并设置样式,让页面布局整齐、视觉舒适。

chengxuyuan55的博客 1264
上一篇: 关于Maven配置出现的问题
下一篇: MySQL学习笔记整理(上部)
霁晨晨晨
博客等级 码龄4年 359粉丝 32原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霁晨晨晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值