于学习js是为爬虫服务,所以canvas绘图学习并不完整。
HTML文件中需要有canvas元素,两标签之间的文字是浏览器不支持时显示的。
<canvas id="drawing" width="200" height="200">A drawing of something.</canvas>
要在网页中显示canvas绘制的图像,只需要在画布上绘制图形即可:
var drawing = document.getElementById("drawing");
if (drawing.getContext){
var context = drawing.getContext("2d");
context.fillStyle = "#0000ff";
context.fillRect(10,10,50,50);
context.fillStyle = "rgba(0,0,255,0.5)";
context.fillRect(30,30,50,50);
}
也可以通过toDataURL输出到图像,并创建新的img:
var drawing = document.getElementById("drawing");
// 取得图像的数据URI
var imgURI = drawing.toDataURL("image/png");
// 显示图像
var image = document.createElement("img");
image.src = imgURI;
document.body.appendChild(image);
可通过strokeStyle和fillStyle属性进行设置
var context = drawing.getContext("2d");
context.strokeStyle = "red";
context.fillStyle = "#0000ff";
设置属性有以下几种:
"red"
"#0000ff"
"rgba(0,0,255,0.5)"
context.strokeStyle = "red";
绘制矩形有fillRect(带有填充)、strokeRect(无填充)、clearRect(除清矩形区域)三个方法,单位为像素:
var drawing = document.getElementById("drawing");
if (drawing.getContext){
var context = drawing.getContext("2d");
// 红色的矩形
context.fillStyle = "#ff0000";
context.fillRect(10,10,50,50);
// 半透明的矩形
context.fillStyle = "rgba(0,0,255,0.5)";
context.fillRect(30,30,50,50);
}
以beginPath()方法开始,然后接着绘制以下线条:
路径创建完以后,有多种结尾方式:
方法:
fillText()
strokeText()
属性:
font
textAlign start、end、left、right、center
textBaseline top、hanging、middle、alphabetic、ideographic、bottom
前没有使用过前端java Script插件,所以一直认为很难来着,今天突然在网上搜寻了一波,21种前端java Script插件,我选择的是Echarts。点击打开链接
ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。
支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达图)、和弦图、力导向布局图、地图、仪表盘、漏斗图、事件河流图等12类图表,同时提供标题,详情气泡、图例、值域、数据区域、时间轴、工具箱等7个可交互组件,支持多图表、组件的联动和混搭展现。
1.创建一个index.html,如下:
[html] view plain copy
<!DOCTYPE html>
<html>
<head>
<metacharset="utf-8">
<title>ECharts</title>
<!-- 引入 echarts.js -->
<scriptsrc="echarts.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<divid="main"style="width: 600px;height:400px;"></div>
<scripttype="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>
其中需要导入echarts,这个从官网上下,寻找适合的,链接在上面。
2.然后通过修改上面一列的属性,构建图标,上述图表如下:
击查看瀑布特效
实话说,这不像是一个瀑布,倒像是天上下石头,但是咱们写代码的,不要在意这些细节,重点是思路,逻辑,以及具体实现效果的方法。在布局方面,因为是用HTML5/canvas,所以只需要一个canvas画布即可,也就是一行代码:
<canvas id="canvas" width="400" height="500"></canvas>
CSS样式也只需要大概的设置下,代码量不多,这次的效果重点是javascript的代码,因为都是用的原生javascript,没有调用插件,看过我以前写的特效的朋友就知道,我一般都强调的就是基础的原生javascript的重要性,特别是现在各种插件以及框架流行,初学者一旦盲目的去学框架,而忽略原生javascript的话其实是很难找工作的,因为每个公司使用的插件以及框架都未必是一样的,也未必会一直使用。但是如果你原生javascript的基础很扎实,那么不管是什么框架或者插件,你都能在很短时间内掌握,使用,迅速创造价值,这也是很多公司喜欢的人才!万丈高楼平地起!不多说,直接上源码!
如果想要更多的企业求职加分项目,案例,学习方法可以来一下我的前端群570946165,每天都会精挑细选一个特效,项目出来详细讲解,分享!包括答疑解惑!
HTML5+javascript打造瀑布特效源码:
代码过长需要文档版源码来我的前端群570946165,已上传到群文件
头条号里有许多web前端学习视频/源码,企业常用特效/案例/项目,敬请关注!
这是哪?
*请认真填写需求信息,我们会在24小时内与您取得联系。