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="data: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:;}
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;
}
})
}
}
上一篇:视图缩放、移动、旋转--ios


下一篇:JQ插件写法 扩展JQ方法