纯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代码的方法加快网页的访问速度
Oct 12 Javascript
jQuery获得指定元素坐标的方法
Apr 14 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
Aug 28 Javascript
深入浅析Node.js 事件循环
Dec 20 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
Oct 12 Javascript
JavaScript ES6中const、let与var的对比详解
Jun 18 Javascript
node使用Koa2搭建web项目的方法
Oct 17 Javascript
JS中的BOM应用
Feb 02 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
Feb 04 Javascript
微信小程序与webview交互实现支付功能
Jun 07 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
Apr 03 Javascript
Vue3+elementui plus创建项目的方法
Dec 01 Vue.js
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生成EXCEL的东东
2006/10/09 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
微信利用PHP创建自定义菜单的方法
2016/08/01 PHP
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
ES6学习教程之块级作用域详解
2017/10/09 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
Python3访问并下载网页内容的方法
2015/07/28 Python
python和ruby,我选谁?
2017/09/13 Python
python读取中文txt文本的方法
2018/04/12 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
不到40行代码用Python实现一个简单的推荐系统
2019/05/10 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
python3实现微型的web服务器
2019/09/03 Python
python实现简单银行管理系统
2019/10/25 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
高校毕业生登记表自我鉴定
2013/11/03 职场文书
售后服务承诺书模板
2014/05/21 职场文书
毕业论文答辩开场白和答辩技巧
2015/05/27 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript