万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改(这是一项推荐标准、外语原文:W3C Recommendation、见本处参考资料原文内容:)。

2014年10月29日,万维网联盟宣布,经过接近8年的艰苦努力,该标准规范终于制定完成。

《妙味课堂HTML5视频教程》 将会介绍超文本标记语言(HTML)的第五次重大修改,即最新版本;它比原来的标准又增加了一些新的标签,实现更多功能,更标准化,更适用于移动互联网。

本视频学习难点在于canvas的用法:

仿知乎背景canvas特效

body{

text-align: center;

background: #F7FAFC;

overflow: hidden;

background: #fff;

}

//定义画布宽高和生成点的个数

var WIDTH = window.innerWidth, HEIGHT = window.innerHeight, POINT = 35;

var canvas = document.getElementById('Mycanvas');

canvas.width = WIDTH,

canvas.height = HEIGHT;

var context = canvas.getContext('2d');

context.strokeStyle = 'rgba(0,0,0,0.2)',

context.strokeWidth = 1,

context.fillStyle = 'rgba(0,0,0,0.1)';

var circleArr = [];

//线条:开始xy坐标,结束xy坐标,线条透明度

function Line (x, y, _x, _y, o) {

this.beginX = x,

this.beginY = y,

this.closeX = _x,

this.closeY = _y,

this.o = o;

}

//点:圆心xy坐标,半径,每帧移动xy的距离

function Circle (x, y, r, moveX, moveY) {

this.x = x,

this.y = y,

this.r = r,

this.moveX = moveX,

this.moveY = moveY;

}

//生成max和min之间的随机数

function num (max, _min) {

var min = arguments[1] || 0;

return Math.floor(Math.random()*(max-min+1)+min);

}

// 绘制原点

function drawCricle (cxt, x, y, r, moveX, moveY) {

var circle = new Circle(x, y, r, moveX, moveY)

cxt.beginPath()

cxt.arc(circle.x, circle.y, circle.r, 0, 2*Math.PI)

cxt.closePath()

cxt.fill();

return circle;

}

//绘制线条

function drawLine (cxt, x, y, _x, _y, o) {

var line = new Line(x, y, _x, _y, o)

cxt.beginPath()

cxt.strokeStyle = 'rgba(0,0,0,'+ o +')'

cxt.moveTo(line.beginX, line.beginY)

cxt.lineTo(line.closeX, line.closeY)

cxt.closePath()

cxt.stroke();

}

//每帧绘制

function draw () {

context.clearRect(0,0,canvas.width, canvas.height);

for (var i = 0; i < POINT; i++) {

drawCricle(context, circleArr[i].x, circleArr[i].y, circleArr[i].r);

}

for (var i = 0; i < POINT; i++) {

for (var j = 0; j < POINT; j++) {

if (i + j < POINT) {

var A = Math.abs(circleArr[i+j].x - circleArr[i].x),

B = Math.abs(circleArr[i+j].y - circleArr[i].y);

var lineLength = Math.sqrt(A*A + B*B);

var C = 1/lineLength*7-0.009;

var lineOpacity = C > 0.03 ? 0.03 : C;

if (lineOpacity > 0) {

drawLine(context, circleArr[i].x, circleArr[i].y, circleArr[i+j].x, circleArr[i+j].y, lineOpacity);

}

}

}

}

}

//初始化生成原点

function init () {

circleArr = [];

for (var i = 0; i < POINT; i++) {

circleArr.push(drawCricle(context, num(WIDTH), num(HEIGHT), num(15, 2), num(10, -10)/40, num(10, -10)/40));

}

draw();

}

//调用执行

window.onload = function () {

init();

setInterval(function () {

for (var i = 0; i < POINT; i++) {

var cir = circleArr[i];

cir.x += cir.moveX;

cir.y += cir.moveY;

if (cir.x > WIDTH) cir.x = 0;

else if (cir.x < 0) cir.x = WIDTH;

if (cir.y > HEIGHT) cir.y = 0;

else if (cir.y < 0) cir.y = HEIGHT;

}

draw();

}, 10);

}

php 视频 分享 h5,妙味课堂HTML5视频资料分享相关推荐

  1. 妙味课堂 Html5实战打怪游戏开发教程

    <H5游戏打怪游戏开发> ├1-移动端H5游戏开发--第一集,多层圆环背景_.mkv ├2-移动端H5游戏开发--第二集,第一屏移动端布局_.mkv ├3-移动端H5游戏开发--第三集,第 ...

  2. 妙味课堂ajax教程,妙味课堂JS高级专题篇视频资料分享

    <妙味课堂JS高级专题篇视频教程>将向大家详细介绍javascript,javascript是一种直译式脚本语言,也是一种广泛用于客户端Web开发的脚本语言.目前,被数百万计的网页用来改进 ...

  3. 李炎恢教程/妙味课堂javaScript/jQuery/js/Ajax全套视频

    使用JavaScript编写一个Base.js基础库,然后通过这个基础库+自行开发的插件,最终完成一个精简型博客主题的前端功能. 这是一个问答系统精简版,高仿了一些知乎网站的部分功能.通过这个小型项目 ...

  4. 妙味课堂——HTML+CSS基础笔记

    妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - P ...

  5. 妙味课堂——HTML+CSS(第一课)

    一句话,还记忆不如烂笔头,何况还这么笨,记下笔记,也是记录这一路学习的过程. 妙味课堂第一课并未一味地先讲HTML,而是穿插着CSS讲解,这一点不同于一些其他视频,这一点挺特别的!所以这一课涉及到HT ...

  6. 倒计时 妙味课堂_jQuery实现倒计时(倒计时年月日可自己输入)

    $(function(){ var tYear = ""; //输入的年份 var tMonth = ""; //输入的月份 var tDate = " ...

  7. 妙味课堂——JavaScript基础课程笔记

    集中时间把秒微课堂JS的基础课程看完,并且认真完成了课后练习.感觉在JS方面的技能算是入了个门了.课后练习的作业完成的代码我都汇总在了这里.至于视频课的学习笔记,则记录如下. 第01课JS入门基础_热 ...

  8. 妙味课堂cctv移动端项目

    2019独角兽企业重金招聘Python工程师标准>>> 项目介绍 妙味课堂仿cctv项目 移动端准备工作 viewport 这里根据psd,宽度为640,所以使用了下面的meta & ...

  9. 妙味课堂 - 前端初窥 -

    Ps技术 - 切图 测量 测量:F8.信息面板 切图(抠图) command + c 复制 command + n 新建同等大小纸张 command + d 粘贴 command + s 保存 css ...

最新文章

  1. ajax传值的url,JQuery ajax url传值与data传值的区别
  2. python哪里下载import包-python 如何找到import的包
  3. To B设计系统 - 在平平淡淡中开花结果
  4. QMetaMethod 获取成员函数的元信息
  5. SQL-用JOIN连接多个表
  6. JSP教程第2讲笔记
  7. tableau三轴该怎么做_举个栗子!Tableau技巧(30):巧妙实现 双柱图 和 折线图 的组合图表...
  8. linux下删除编译安装的软件,Linux 中卸载编译安装的软件
  9. 楷书书法规则_楷书笔画书写八大规律
  10. Typescript的优缺点和面试题
  11. 【ENVI条件下的GF6-WFV数据处理相关问题】——负值问题
  12. 群晖、黑群晖安装emby很慢,或者卡0%的解决办法,请收藏
  13. centos7 安装显卡驱动及cuda10.2
  14. 【c语言中的运算符】
  15. 华为Ascend昇腾CANN详细教程(二)
  16. GIV@2025:当一滴水流入螺旋世界,每个人都能化身超级英雄
  17. 【Python】三、代码组织架构
  18. 代码review原则
  19. || 与 or 区别
  20. 苹果系统和安卓系统的区别_安卓手机刷苹果ios系统,会发生什么

热门文章

  1. 软件实施--xxxx医院实施总结
  2. 银行ATM系统 jsp + servlet + mysql (2014)
  3. 抵触CRM管理软件原因之我见
  4. android 自动换行linearlayout,Android LinearLayout实现自动换行效果
  5. 浏览器内核分别是什么
  6. python 生成带logo二维码
  7. BIM建模助手【有求必应】,你提功能需求,我们来开发
  8. Markdown 常用数学公式符号记录
  9. Android使用rosjava编写控制机器人APP(记录)
  10. Moralis去中心化Web3应用开发教程