• canvas_15 资源管理器


     1 <!DOCTYPE html>
     2 <html lang="en">
     3 
     4     <head>
     5         <meta charset="UTF-8">
     6         <meta http-equiv="X-UA-Compatible" content="IE=edge">
     7         <meta name="viewport" content="width=device-width, initial-scale=1.0">
     8         <title>Canvas</title>
     9         <style>
    10             canvas {
    11                 display: block;
    12                 margin: 0 auto;
    13                 border: 1px solid #eee;
    14             }
    15         </style>
    16     </head>
    17 
    18     <body>
    19         <canvas height="500" width="500" id="canvas"></canvas>
    20 
    21         <script>
    22             var canvas = document.querySelector("#canvas");
    23             var ctx = canvas.getContext("2d");
    24             var w = canvas.width;
    25             var h = canvas.height;
    26 
    27             function animation() {
    28                 var fno = 0;
    29                 var timer = setInterval(function() {
    30                     fno++;
    31                     ctx.clearRect(0, 0, w, h);
    32                     ctx.fillText(fno, 10, 20);
    33                     ctx.drawImage(fno % 2 ? imageSorce.boy : imageSorce.pokemon, 100, 100);
    34                     if (fno == 10) {
    35                         clearInterval(timer);
    36                     }
    37                 }, 500)
    38             }
    39 
    40             var imageSorce = {};
    41             var imageLoadNum = 0;
    42             var xhr = new XMLHttpRequest();
    43             xhr.open("get", "../json/loadImage.json", true);
    44             xhr.send(null);
    45             xhr.onreadystatechange = function() {
    46                 if (xhr.readyState == 4) {
    47                     var obj = JSON.parse(xhr.responseText);
    48                     for (var i = 0; i < obj.images.length; i++) {
    49                         imageSorce[obj.images[i].name] = new Image();
    50                         imageSorce[obj.images[i].name].src = obj.images[i].url;
    51                         imageSorce[obj.images[i].name].onload = function() {
    52                             imageLoadNum++;
    53                             ctx.clearRect(0, 0, w, h);
    54                             ctx.fillText("正在加载第" + imageLoadNum + "/" +
    55                                 obj.images.length + "张图片,请稍后...", 100, 100);
    56                             if (imageLoadNum == obj.images.length) {
    57                                 animation()
    58                             }
    59                         }
    60                     }
    61                 }
    62             }
    63 
    64             /*
    65             loadImage.json:
    66                 {
    67                     "images": [{
    68                             "name": "pokemon",
    69                             "url": "../static/images/pokemon.png"
    70                         },
    71                         {
    72                             "name": "boy",
    73                             "url": "../static/images/boy.png"
    74                         }
    75                     ]
    76                 }
    77             */
    78         </script>
    79 
    80     </body>
    81 
    82 </html>
  • 相关阅读:
    5.1重磅活动:区块链免费送书
    Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
    Linux负载均衡利器(LVS)
    豌豆荚Redis集群方案:Codis
    Spring Boot Redis Cluster实战
    高性能代理缓存服务器—Squid
    Facebook分布式框架—Thrift介绍。
    Java 高级面试知识点汇总!
    (4)设计模式-建造者模式
    (3)设计模式-单例模式
  • 原文地址:https://www.cnblogs.com/luwei0915/p/15763643.html
Copyright © 2020-2023  润新知