js实现图片加载特效(从左到右,百叶窗,从中间到两边)
2014-11-18 18:54
471 查看
/* 网上百度的,感觉”从中间到两边“的效果写的不是很好,改了一下,感觉可以了! */ <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> var image; var intervalId1; var intervalId2; var intervalId3; var drawW1 = 0; var canvas; var context; var drawLeft; var baiyechuangItemW ; function init(){ image = new Image(); image.src="eg_mouse.jpg"; canvas = document.getElementById("canvas1"); context = canvas.getContext("2d"); drawLeft = image.width/2; } function startLeftToRight(){ clearInterval(intervalId1); context.clearRect(0,0,image.width,image.height); intervalId1 = setInterval("leftToRight();",50); } function leftToRight(){ context.drawImage(image,0,0,drawW1, image.height,0,0,drawW1,image.height); drawW1 += 2; if(drawW1>image.width){ drawW1 =0; clearInterval(intervalId1); } } function centerToOuter(){ drawW1 += 2; //drawLeft-drawW1/2是左端点,drawLeft是中间, drawLeft+drawW1/2是右端点 context.drawImage(image,drawLeft-drawW1/2,0,drawW1,image.height,drawLeft-drawW1/2,0,drawW1,image.height); if(drawW1>drawLeft*2){ drawW1 = 0; clearInterval(intervalId2); } } function startCenterToOuter(){ clearInterval(intervalId2); context.clearRect(0,0,image.width,image.height); intervalId2 = setInterval("centerToOuter();",50); } function baiyechuang(){ for(i=0;i<10;i++){ context.drawImage(image,baiyechuangItemW*i,0,drawW1,image.height,baiyechuangItemW*i,0,drawW1,image.height); } drawW1 += 0.2; if(drawW1>baiyechuangItemW){ clearInterval(intervalId3); } } function startBaiyechuang(){ drawW1=0; baiyechuangItemW = image.width/10.0; clearInterval(intervalId3); context.clearRect(0,0,image.width,image.height); intervalId3 = setInterval("baiyechuang();", 50); } </script> </head> <body onload="init();"> <h1><input type="button" value="从左到右装载图片" onclick="startLeftToRight();"/></h1> <h1><input type="button" value=“从中间到两边加载图片" onclick="startCenterToOuter();"/></h1> <h1><input type="button" value="百叶窗方式装载图片" onclick="startBaiyechuang();"/></h1> <div> <canvas id="canvas1" width="400px" height="400px"></canvas> </div> </body> </html>
相关文章推荐
- JS特效:用鼠标事件实现图片的渐显效果
- js实现点击验证码无刷新重新加载验证码图片
- jquery.lazyload.js实现图片延迟加载——wordpress图片随滚动条渐显效果
- js实现网页图片延时加载的原理和代码
- 用js实现广告图片后加载
- Flash和JS实现的图片幻灯片切换特效
- 一段实现页面上的图片延时加载的js
- jquery.lazyload.js实现图片延迟加载——wordpress图片随滚动条渐显效果
- js实现图片加载时候逐渐出现的杂色效果
- Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
- js实现图片向上连续滚动特效代码(含注释)
- 一段实现页面上的图片延时加载的js
- js实现点击验证码无刷新重新加载验证码图片
- CSS+JS实现网页(图片)特效
- JS实现的图片特效(Lightbox v2.0)
- Flash和JS实现的图片幻灯片切换特效
- [js脚本实现]图片向上滚动并且有停顿的特效
- 各大门户网站Flash和JS实现的图片幻灯片切换特效代码文件下载:
- 网页图片预加载用js实现
- jquery.lazyload.js实现图片延迟加载——wordpress图片随滚动条渐显效果