zoukankan      html  css  js  c++  java
  • canvas移动端常用技巧图片loading

    核心知识点:drawImage

    作用:将图片加载在canvas

    html:

    <canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
    Your browser does not support the canvas element.
    </canvas>

    js:

    <script type="text/javascript">
    
    var c=document.getElementById("myCanvas");
    var cxt=c.getContext("2d");
    var img=new Image()
    img.src="flower.png"
    cxt.drawImage(img,0,0);
    
    </script>

    移动端图片loading实例

    需求:需要给一个列表中的图片添加加载效果

    html

    <section class="productul" id="productul">
         <ul>
             <li>
                <a href="#">
                 <div class="triangle-topleft"></div>
                 <span class="shuxing" data_url="productinfo.html">专属</span>
                 <div class="leftimages fl"><canvas data-src="images/product/product1.png" ></canvas></div>
                 <div class="productcontent fr">
                     <p class="ptitle pl10">标题</p>
                      <p class="pdes pl10">简介这里简介这里简介这里简介这里简介这里简介这里简介这里简介介这里简介</p>
                      <p class="pprice pl10">价格:<span class="green">¥5000</span></p>
                 </div>
               </a>
             </li>
         </ul>    
    </section>

    重点css

    img{width:100px;birder:0;}
    canvas{width:100px;min-height:100px;background:#fff url("../images/loading.gif") center center no-repeat; background-size:15px auto; }

    js

    var imglength = $("#productul").find("canvas").length;
                if (imglength > 0) {
                    $("#productul").find("canvas").each(function () {
                        var imgSrc = $(this).data("src");
                        var imageObj = new Image();
                        imageObj.canvs = $(this)[0];
                        var cvs = imageObj.canvs.getContext('2d');
                        if (cvs) {
                            imageObj.onload = function () {
                                imageObj.canvs.width = this.width;
                                imageObj.canvs.height = this.height;
                                cvs.drawImage(this, 0, 0);
                                $(imageObj.canvs).css("background-image", "none");
                            }
                            imageObj.src = imgSrc;
                        }
                    })
                }
            }
  • 相关阅读:
    Luogu P4316 绿豆蛙的归宿 题解报告
    Luogu P1850 换教室(NOIP 2016) 题解报告
    Rainbow的信号 题解报告
    $CH5105 Cookies$ 线性$DP+$贪心
    算法竞赛 $0×50$ 动态规划 (+一本通
    $CH5104 I-country$ 线性$DP$
    洛谷$2014$ 选课 背包类树形$DP$
    $SP703 Mobile Service DP$
    $POJ1015 Jury Compromise Dp$/背包
    $POJ1742 Coins$ 多重背包+贪心
  • 原文地址:https://www.cnblogs.com/leejersey/p/4714613.html
Copyright © 2011-2022 走看看