HTML5新特性--svg-echarts(重点)-拖动API-WebWorker

时间:2022-01-24 21:06:32

一、html5新特性--svg--(折线/渐变特效对象/滤镜)

#折线:多个坐标点组件一条折线

<polyline points="50,50 70,55 60,66 " stroke="" stroke-width="">

</polyline>

#points 一组坐标点

#渐变特效对象:一种特效样式(从一种颜色慢慢过滤另一种颜色效果)

#渐变特效对象:(1)创建渐变对象 <defs> (2)在指定图形应用

<defs>

<linearGradient id="g3" x1="" y1="" x2="" y2="">

<stop offset="" stop-color="" />

</linearGradient>

</defs>

<rect fill="url(#g3)"></rect>

<ANY fill="url(#g3)"  stroke="url(#g3)"></ANY>

x1="" y1=""  起点坐标 (1)写像素0,0  500,0 (2)写百分0% 0% 100%

x2="" y2=""  终点坐标

stop       颜色点

offset      偏移量 0% 30%  100%

stop-color  颜色点

二、HTML5新特性--svg--(滤镜)

#滤镜也是一种特效对象:模糊滤镜

<defs>

<filter id="f3">

<feGaussianBlur stdDeviation="数字" />

</filter>

</defs>

#数字模糊级别 1~10   (5)

<ANY filter="url(#f3)"></ANY>

https://developer.mozilla.org/zh-CN/docs/Web/SVG/Element/filter

三、HTML5新特性---echarts(重点)

百度提供第三方绘图库:

#如果需要快速创建功能简单外观复杂图像考虑echarts

#何时使用第三方库绘制图形

(1)外观精美

(2)图形复杂

#何时自己完成图形

(1)功能复杂【特效/游戏】

四、html5新特性---echarts(重点)--使用

(1)下载

https://www.echartsjs.com/zh/download.html

(2)创建容器(显示图形)

<div id="main" style="width:500px;height:400px;">

<!--canvas>第三方库</canvas-->

</div>

(3)加载echarts.min.js   #此文件中有 echarts全局对象

(4)程序:获取容器  var main = document.getElementById("main")

(5)创建echarts对象 var mychart = echarts.init(main);

(6)创建options选项 var option = {};  #只需要将数据添加option

(7)将options添加 echarts 对象 mychart.setOption(option)

#柱状统计图

var option = {

title:{text:"入门示例柱状统计图"}

xAxis:{data:["衬衫","裤子","袜子","雪纺衫"]},

yAxis:{},  #动态变化由下方数据源指定

series:[{type:"bar",data:[100,100,10,1]}]

}

#title: 顶部标签

#xAxis: x轴数据

# series 数据源

#type:"bar"

绘制图像类型: bar 柱状统计图 line 折线

pie 饼图       gauge 仪表图 ...

五、html5新特性---拖放API(网页)

#PC端项目--拖动上传图片   (#拖动上传图片视频)

#移动端项目--(自拍/ 相册)

Drag & Drop 拖动和释放

-拖动源对象(会动)-触发三个事件

dragstart 拖动开始

drag     拖动中

dragend  拖动结束

整个过程:dragstart*1+drag*n+dragend*1

-拖动目标对象(不动)-触发四个事件(!!)

dragenter  拖动进入

dragover   拖动悬停 #默认行为:悬停事件结束后立即触发离开

#阻止事件默认行为

dragleave  拖动离开

drop      拖动释放

整个过程1:dragenter*1+dragover*n+dragleave*1

整个过程2:dragenter*1+dragover*n+drop*1

六、

html5新特性---Web Worker---理论多代码少(3行)

程序:指可以被CPU执行代码,程序存储在磁盘上 1.html 2.js

进程:将程序调用内存中并且分配指定空间,在内存中的程序

称为进程

线程:进程内部是由多个线程组件(内存)

chrome浏览器

一个chrome浏览器进程内部至少有6个线程负责向服务器

发送请求获取资源(资源{网页/图片/视频/..}   请求线程)

一个线程负责绘制所有资源并且执行js程序  UI主线

<button>111</button>

<script src="1.js"></script>

<button>222</button>

问题:用户很长时间看不到网页内容

解决方案:创建新线程帮助UI主线程执行耗时 js任务

UI主线程负责绘制网页

创建Worker对象

标准语法:

var w = new Worker("js任务路径");

#创建Worker对象

#创建新线程执行js任务

#Worker程序实现数据传递

#UI线程(html)将数据发送Worker(05.js)线程

UI     发数据

var w = new Worker("js/05.js");

w.postMessage("123")

Worker 收数据

onmessage = function(event){event.data}

#Worker(05.js)线程将数据发送UI(html)线程