H5的学习记录

本文详细介绍了HTML5中的语义化标签如<header>、<nav>、<main>等,以及功能性标签如<progress>、<input>、<video>、<audio>和<canvas>的使用方法和属性。还涵盖了Web存储(cookie、sessionStorage和localStorage)、拖拽功能、WebSocket和地理位置API的相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新增标签

语义化标签

1.header

<header></header>

表示头部

2.nav

<nav></nav>

导航栏

3.main

<main></main>

表示页面主体

4.section

<section></section>

用来区分大模块

5.aside

<aside></aside>

表示侧边栏

6.article

<article><article>

表示文章

7.footer

<footer></footer>

表示底部

功能性标签

1.progress

表示进度条

<progress></progress>

属性:

value:进度的多少

max:进度条的长度

效果:

 

2.input

表示输入框

<input>

属性:

type:text/number/email/tel/url/search/time/date/submit/range(拖动滑块)/file(上传文件)

placeholder:输入提示信息

autofocus:载入页面时光标自动聚焦在输入框

multiple:可以选择多个值

 效果:

3.video

播放视频

<video></video>

属性:

src:视频的地址

controls:显示视频的控件

muted:视频为静音

autoplay:加载完网页后视频自动播放,必须与muted静音一起使用,否则不能自动播放

loop:自动循环播放

volume:音量,0~1

duration:视频的总时长

currentTime:当前播放进度

paused:判断当前视频状态是否是暂停,如果是暂停返回true

width:设置宽度

height:设置高度

 方法:

play()播放

 pause()暂停

 load()重新加载

 快进,后退,快倍速,慢倍速

 实现同一个按钮进行播放/暂停

 获取视频进度的百分比

 4.audio

音频

<audio></audio>

用法同上video

5.canvas

本质是一个容器,可以看作是画布,专门用来绘制图形

绘制矩形

 效果:

 绘制圆形

效果:

 context.arc(x, y, radius, startAngle, endAanle, direction),参数分别是:圆心x坐标,圆心y坐标,半径,开始角度,结束角度,绘制为逆时针,false为顺时针(默认)

PI =180度, PI = 3.1415弧度

角度到弧度的运算方式:Math.PI / 180 * startAngle

渐变色

效果:

 var gradient = context.createLinearGradient(xstart,ystart,xend,yend)

参数为:起始点x坐标,y坐标,结束点x坐标,y坐标。

 gradient.addColorStop(number,'color')

number为偏移量,0~1之间

绘制矩形 context.fillRect(x,y,宽,高)

图片

效果:

 

context.drawImage(image,x,y) 参数:图像,绘制位置的x坐标,y坐标

context.drawImage(image,x,y,w,h) 参数:图像,绘制位置的x坐标,y坐标 ,宽,高

图片平铺模式:

绘制文字

context.fillText(text,x,y,maxWidth)

text:绘制的文本

x:文本开始的x轴位置

y:文本开始的y轴位置

maxWidth:允许的文本最大宽度(可省略)

Web存储

cookie

每次浏览器向服务器发送请求都需要携带cookie,一般情况下cookie产生于服务器端,保存于客户端。但是我们也可以通过js来产生cookie,通过js-cookie库来操作cookie。

cookie特点:

1.数据持久型,数据在浏览器关闭时才删除

2.不需要服务器资源,cookie存储在客户端并发送给服务器读取

3.可控制cookie的生命周期

cookie基本用法如下:

sessionStorage

会话存储

特点:

1.页面在会话存储就在,并且重新加载或者恢复页面会话存储还保持在页面中

2.会话存储在单个页面中,即使是多个相同地址的网页,会话存储也不相通

3.页面关闭会话存储则被清除

基本用法:

 点击按钮,创建一个sessionStorage存储

 localStorage

本地存储

特点:

1.数据始终有效,窗口或浏览器关闭后数据还在

2.同一个url窗口的数据是共享的

基本用法:

 点击按钮,创建一个localStorage

拖拽

属性:draggable:true/false

事件:

被拖拽元素:

dragstart  开始拖拽

drag  正在拖拽

dragend  结束拖拽

目标元素(被放置拖拽元素的元素):

dragenter    被拖拽元素进入到目标元素中

dragover   被拖拽元素在目标元素中移动

drop   拖拽元素放置到目标元素中

拖拽事件流:

当拖动一个元素放置到目标元素上时会按照如下顺序依次触发:

dragstart--drag--dragenter--dragover--drop--dragend

数据交互 dataTransfer

在拖拽事件中,我们可以通过datatransfer来实现数据交互。他是事件对象的一个属性event.datatransfer。用于从被拖拽元素向目标元素传递字符串格式的数据。

设置值:event.datatransfer.setData() 在元素拖拽开始时设置 ondragstart

获取值:event.datatransfer.getData() 在元素放置时获取 ondrop

如何将拖动元素放置到目标元素

1.前提

拖拽元素可拖拽 draggable设为true

目标元素可放置 ondragover = function(){ event.preventDefault() } // 阻止默认行为

 效果:

跨文本消息传输

实现

1.在A页面点击,打开B页面

2.在A页面传输数据到B页面

A页面代码

 B页面代码

websocket

使用websocket可以在服务器与客户端之间建立一个非http的双向连接,这个连接是实时的也是永久的,除非被显示关闭。服务器可以随时将消息传送到客户端

 地理位置

geolocation

出于隐私保护考虑,标准规范获取地理位置必须得用户授权后才能得到地理位置信息

 navigator.geolocation.getCurrentPosition(on_success, on_error, options);
getCurrentPosition包含三个参数,前两个为函数名,第三个为一个对象。后两个可省略。

载入页面时通常会弹出一个提示,询问是否同意获取定位,同时getCurrentPosition函数会立即返回。如果选择了同意,则会执行on_success函数,这时才真正得到位置信息
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值