纯js实现画一棵树的示例


Posted in Javascript onSeptember 05, 2017

用纯js画一棵树。思路:

1、一棵树的图片,作为页面背景;

2、通过html5中的canvas画布进行遮罩;

3、定时每隔10ms,从下往上清除1px的遮罩;

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>My JS tree</title>
<style>
body {
  width: 1000px;
  height: 570px;
  background-image: url(image/tree.png);
  background-size: 1000px, 570px;
  background-repeat: no-repeat;
  margin-top: 0px;
  margin-bottom: 0px;
}
</style>
</head>

<body>
  <canvas id="mycanvas" width="1000px" height="570px"></canvas>

  <script>
    var c = document.getElementById("mycanvas");
    var ctx = c.getContext("2d");

    ctx.fillStyle = "#ffffff";
    ctx.fillRect(0, 0, c.width, c.height);//矩形遮住背景图像

    var y = c.height;

    window.setInterval(function() {
      if (y > 2) {
        ctx.clearRect(0, y - 1, c.width, y);
        y = y - 1;
      } else {
        window.clearInterval(this);//清除定时
        ctx.clearRect(0, 0, c.width, c.height);
      }
    }, 10);//每隔10ms清除1px的遮照
  </script>
</body>
</html>

画的过程如下:

纯js实现画一棵树的示例

以上这篇纯js实现画一棵树的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一句话JavaScript表单验证代码
Aug 02 Javascript
javascript Demo模态窗口
Dec 06 Javascript
在jQuery ajax中按钮button和submit的区别分析
Oct 07 Javascript
javascript中attribute和property的区别详解
Jun 05 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
Nov 08 Javascript
Bootstrap每天必学之栅格系统(布局)
Nov 25 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
Apr 12 Javascript
Angular的$http与$location
Dec 26 Javascript
基于vue2.0实现简单轮播图
Nov 27 Javascript
javascript trie前缀树的示例
Jan 29 Javascript
Angular设置别名alias的方法
Nov 08 Javascript
uniapp开发小程序的经验总结
Apr 08 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
Sep 05 #Javascript
基于ES6 Array.of的用法(实例讲解)
Sep 05 #Javascript
对于Javascript 执行上下文的全面了解
Sep 05 #Javascript
JS一个简单的注册页面实例
Sep 05 #Javascript
基于react组件之间的参数传递(详解)
Sep 05 #Javascript
zTree获取当前节点的下一级子节点数实例
Sep 05 #Javascript
JavaScript基础进阶之数组方法总结(推荐)
Sep 04 #Javascript
You might like
php中get_cfg_var()和ini_get()的用法及区别
2015/03/04 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
Python中的startswith和endswith函数使用实例
2014/08/25 Python
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
基于Python实现一个简单的银行转账操作
2016/03/06 Python
python找出列表中大于某个阈值的数据段示例
2019/11/24 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
python3爬虫中异步协程的用法
2020/07/10 Python
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
写求职信有什么意义
2014/02/17 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
工地安全质量标语
2014/06/07 职场文书
鼓舞士气的口号
2014/06/16 职场文书
高中化学教学反思
2016/02/22 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
css3应用示例:新增的选择器
2022/03/16 HTML / CSS
nginx.conf配置文件结构小结
2022/04/08 Servers
原生JS实现分页
2022/04/19 Javascript