js实现图片加载特效(从左到右,百叶窗,从中间到两边)
/*
网上百度的,感觉”从中间到两边“的效果写的不是很好,改了一下,感觉可以了!
*/
<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判断图片加载完成后获取图片实际宽高
通常,我们会用jq的.width()/.height()方法获取图片的宽度/高度或者用js的.offsetwidth/.offsetheight方法来获取图片的宽度/高度,但这些方法在我们通过样式设置 ...
- nginx实现动态分离,解决css和js等图片加载问题
改帖专门为使用nginx,通过nginx把请求转发到web服务器再返回客户端的时候,解决css和js和图片加载不出来的问题. 如果没安装nginx,请访问一下地址进行安装 http://www.cnb ...
- js img图片加载失败,重新加载+断网检查
我们常常会遇到img加载图片的时候因为网络问题或者图片过大导致图片加载失败的问题,页面就因为这张蹦掉的图变得不美观.所以我们需要图片加载失败的时候重新加载图片,前端图片加载优化 //js方法定义 fu ...
- (js有关图片加载问题)dom加载完和onload事件
引用旺旺的话...哈哈哈DOMContentLoaded事件表示页面的DOM结构绘制完成了,这时候外部资源(带src属性的)还没有加载完.而onload事件是等外部资源都加载完了就触发的.$.read ...
- JS判断图片加载完成方法
javascipt原生方法 选取指定ID的图片,通过onload指定回调方法,在图片加载完成后弹出“图片加载已完成”字样提示. <img id="pic1" src=&quo ...
- js判断图片加载完成
<!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content=&quo ...
- iOS UIWebView 中 js调用OC 打开相册 获取图片, OC调用js 将图片加载到html上
线上html <!DOCTYPE html> <html> <head> <title>HTML中用JS调用OC方法</title> < ...
- 基于iscroll.js实现下拉刷新和上拉加载特效
现在已经不是纯Android独霸天下的时代了,H5嵌入Android的Hybrid混合开发是大势所趋.今天给大家带来的就是移动端中常见的"上拉刷新,下拉加载"特效,这个特效将会基于 ...
- 图片加载js类库
Picturefill Picturefill.WP插件利用picturefill.js脚本展示Responsive图片,即根据视口宽度选择尺寸合适的图片加载,节省带宽,提高网站载入速度.例如用户用手 ...
随机推荐
- 利用CSS3实现圆角的outline效果的教程
一.首先,outline是个很牛的东西1. border近亲outline和border是近亲,为什么这么讲呢?首先,都是给元素外面套框框的:其次,支持的属性值几乎都是一样的,例如,outline-s ...
- delayed ack与nagle's算法
delayed ack和nagles算法都能减少tcp传输过程中的小数据包的问题 tcpip卷二25章中提到tcp为每个连接建立7个定时器: 1.connection established 2.re ...
- C# XMAL与WPF
通过老师上课的解释和我下课后的网上查询,我了解到了一些关于这三者的关系.XAML是.NET体系开发程序或者网页时前台编程的一种布局方式或者说开发语言,可以比较自由的用标签的方式进行布局,借鉴了HTML ...
- [转]WinForms GridListEditor - How to restore values in the auto filter row
http://dennisgaravsky.blogspot.hk/2016/05/winforms-gridlisteditor-how-to-restore.html using System; ...
- test-output目录中找不到testng-fail.xml原因+Reportng+ant build.xml文件
test-output目录中找不到testng-fail.xml原因: 在没有加入Reportng 报告的相关jar包前,在test-output目录下是有testng-fail.xml,后面加入了R ...
- css各项水平居中
当被设置元素为块状元素时用text-align:center就不起作用了,这也分两种情况,定宽块状元素和不定宽块状元素. 一.定宽块状元素:快状元素的宽度width为固定值,之后我们可以将左右marg ...
- PN结的形成
P型半导体 在纯净的硅晶体中掺入3价元素如硼,使之取代晶格中硅原子的位置,就形成了P型半导体.在P型半导体中,空穴为多字,自由电子为少子,主要靠空穴导电.掺入的杂质越多,空穴的浓度就越大,导电性就越强 ...
- spring 装配核心笔记
(1)自动装配 开启ComponentScan(自动扫描), 通过在类使用注解@Component(默认bean id为类名第一个字符小写), 使用@Autowired实现属性,构造函数,成员函数的自 ...
- sql server 写性能优化
潜在的方案是: (1)2014版本的内存表 (2)表分区,将表数据存放在多个硬盘上. (3)采用SSD磁盘阵列. (4)不重要的表关闭事务日志.??
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.2,增加离线消息、离线文件功能(源码)
(几句题外话:虽然就如何将GG发展为一个有商业价值的产品,我还没有很清晰明确的思路,但是从GG发布以来,通过GG认识了一些朋友,也接了一些小单子,赚了一点小钱.有了一点甜头,目前和2.3个好朋友一起做 ...