纯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 相关文章推荐
Prototype Number对象 学习
Jul 19 Javascript
javascript Array对象基础知识小结
Nov 16 Javascript
jquery使用经验小结
May 20 Javascript
iframe跨域通信封装详解
Aug 11 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
Apr 15 Javascript
javascript删除html标签函数cIsHTML
Jan 09 Javascript
基于JavaScript实现带缩略图的轮播效果
Jan 12 Javascript
原JS实现banner图的常用功能
Jun 12 Javascript
Taro集成Redux快速上手的方法示例
Jun 21 Javascript
详解React之父子组件传递和其它一些要点
Jun 25 Javascript
Postman无法正常返回结果问题解决
Aug 28 Javascript
js实现可爱的气泡特效
Sep 05 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使用CURL实现多线程抓取网页
2015/04/30 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
一个通过script自定义属性传递配置参数的方法
2014/09/15 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
EditPlus中的正则表达式 实战(4)
2016/12/15 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
node.js博客项目开发手记
2018/03/16 Javascript
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
java直接调用python脚本的例子
2014/02/16 Python
Python标准库与第三方库详解
2014/07/22 Python
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
利用Python中unittest实现简单的单元测试实例详解
2017/01/09 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
Python 变量类型详解
2018/10/10 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
python for循环remove同一个list过程解析
2019/08/14 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
Pytorch 数据加载与数据预处理方式
2019/12/31 Python
python3中数组逆序输出方法
2020/12/01 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
电脑饰品店的创业计划书
2014/01/21 职场文书
会计学生自我鉴定
2014/02/06 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
明星邀请函
2015/02/02 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis