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;
                        }
                    })
                }
            }
  • 相关阅读:
    51nod 最长公共子序列Lcs
    输入挂
    HDU 圆桌会议
    畅通工程
    异形卵
    Python中的多态如何理解?(转帖,让我很理解。)【外加自我看法】(这次修改后应该就是标准答案了)
    Python短路逻辑or的巧妙使用。
    Python三元表达式
    稍微记号下Python的赋值技巧。
    刚看到一个字符串的替换命令,makeslate,记号一下(用处大?应该不算)!
  • 原文地址:https://www.cnblogs.com/leejersey/p/4714613.html
Copyright © 2011-2022 走看看