纯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 相关文章推荐
js 编写规范
Mar 03 Javascript
JavaScript 字符串处理函数使用小结
Dec 02 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
Aug 13 Javascript
微信小程序  checkbox组件详解及简单实例
Jan 10 Javascript
JS时间控制实现动态效果的实例讲解
Jul 31 Javascript
vue中axios处理http发送请求的示例(Post和get)
Oct 13 Javascript
vue 做移动端微信公众号采坑经验记录
Apr 26 Javascript
Angular5集成eventbus的示例代码
Jul 19 Javascript
微信小程序使用canvas的画图操作示例
Jan 18 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
Apr 26 Javascript
jQuery 添加元素和删除元素的方法
Jul 15 jQuery
echarts实现获取datazoom的起始值(包括x轴和y轴)
Jul 20 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中echo,print_r与var_dump区别分析
2014/09/29 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
2016/03/30 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
php中如何执行linux命令详解
2018/11/06 PHP
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
JavaScript 中有关数组对象的方法(详解)
2016/08/15 Javascript
JS弹性运动实现方法分析
2016/12/15 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
Vue实现简单分页器
2018/12/29 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python实现批量检测HTTP服务的状态
2016/10/27 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
Python字典生成式、集合生成式、生成器用法实例分析
2020/01/07 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
python一些性能分析的技巧
2020/08/30 Python
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
《宿建德江》教学反思
2014/04/23 职场文书
建筑安全标语
2014/06/07 职场文书
群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
实习工作表现评语
2014/12/31 职场文书
销售合作意向书范本
2015/05/08 职场文书