纯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判断操作系统的类型实现不同操作系统下的兼容性
Jan 29 Javascript
解析Jquery取得iframe中元素的几种方法
Jul 04 Javascript
用JS实现3D球状标签云示例代码
Dec 01 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
Mar 02 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
Dec 02 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
Jul 01 Javascript
Google 地图API Map()构造器详解
Aug 06 Javascript
Node.js中防止错误导致的进程阻塞的方法
Aug 11 Javascript
javascript实现简单的可随机变色网页计算器示例
Dec 30 Javascript
详解在React里使用&quot;Vuex&quot;
Apr 02 Javascript
javascript实现切割轮播效果
Nov 28 Javascript
javascript设计模式之迭代器模式
Jan 30 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 常用类汇总 推荐收藏
2010/05/13 PHP
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
js实现右下角可关闭最小化div(可用于展示推荐内容)
2013/06/24 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
js分页代码分享
2014/04/28 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
vue+node 实现视频在线播放的实例代码
2020/10/19 Javascript
使用Python的PIL模块来进行图片对比
2016/02/18 Python
Flask框架的学习指南之用户登录管理
2016/11/20 Python
Python登录注册验证功能实现
2018/06/18 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
django之状态保持-使用redis存储session的例子
2019/07/28 Python
python IP地址转整数
2020/11/20 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
销售代表求职自荐信
2013/10/01 职场文书
部队党性分析材料
2014/02/16 职场文书
申论倡议书范文
2014/05/13 职场文书
专题组织生活会方案
2014/06/15 职场文书
优秀员工推荐材料
2014/12/20 职场文书
入学证明
2015/06/23 职场文书
婚庆答谢词大全
2015/09/29 职场文书
聊聊golang中多个defer的执行顺序
2021/05/08 Golang
只用20行Python代码实现屏幕录制功能
2021/06/02 Python