javascript实现图片切换的幻灯片效果源代码


Posted in Javascript onDecember 12, 2012

网页上有许多图片切换的幻灯片效果,它们大多用flash实现,那javascript能不能实现他们呢,当然可以,我自己写了一个,和大家一同分享

废话少说,看代码

sx.activex.imagefade={ 
init:function(imga,fadeint,fadeoutt){ 
var ti=new Array(); 
for(var i=0;i<imga.length;i++){ 
ti[i]=new Image(); 
ti[i].src=imga[i] 
} 
var div=document.createElement("div"); 
var img=document.createElement("img"); 
img.src=ti[0].src; 
var span=document.createElement("span") 
span.style.backgroundColor="yellow"; 
var a=[]; 
for(var i=0;i<imga.length;i++){ 
a[i]=document.createElement("a") 
a[i].style.backgroundColor="red"; 
a[i].style.width="10px"; 
a[i].style.margin="2px"; 
a[i].href="javascript:void(0)"; 
a[i].onclick=function(r){ 
return function(){ 
var t=100; 
var t1=0; 
var h=window.setInterval(function(){ 
if(t>=0){ 
img.style.filter="alpha(opacity="+t+");"; 
t=t-2;} 
else{ 
window.clearInterval(h); 
img.src=ti[r].src; 
var h1=window.setInterval(function(){ 
if(t1<=100){ 
img.style.filter="alpha(opacity="+t1+");"; 
t1=t1+2;} 
else{ 
window.clearInterval(h1); 
} 
},fadeint); 
} 
},fadeoutt); 
} 
}(i); 
a[i].innerText=i+1; 
span.appendChild(a[i]); 
} 
div.style.position="absolute"; 
div.style.height="200px"; 
div.style.width="200px"; 
div.appendChild(img); 
img.style.height="100%"; 
img.style.width="100%"; 
span.style.position="absolute"; 
span.style.right="10px"; 
span.style.bottom="10px"; 
div.appendChild(span); 
return div; 
} 
}

调用的html
<html> 
<head> 
<title>Untitled Document</title> 
</head> 
<body> 
<script src="kongjian.js"></script> 
<script> 
var a=sx.activex.imagefade.init(["1.jpg","1 (1).jpg"],10,10); 
a.style.height="400px"; 
a.style.width="400px"; 
//a.all[1].style.backgroundColor="green"; 
document.body.appendChild(a); 
</script> 
</body> 
</html>

上面的js函数的第一个参数是你要的图片的地址所组成的数组,第二个参数是图片淡出的timer,第三个参数是淡入的timer.

这段js的关键是a[i].onclick这段代码,注意这里套用了两个setintertval,并用了闭包,在赋值时要当心了.
有什么疑问的话还请多多交流啊

Javascript 相关文章推荐
escape、encodeURI、encodeURIComponent等方法的区别比较
Dec 27 Javascript
用Jquery重写windows.alert方法实现思路
Apr 03 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
May 26 Javascript
纯前端JavaScript实现Excel IO案例分享
Aug 26 Javascript
Node.js检测端口(port)是否被占用的简单示例
Sep 29 Javascript
Angular组件化管理实现方法分析
Mar 17 Javascript
JavaScript实现QQ列表展开收缩扩展功能
Oct 30 Javascript
vue项目中用cdn优化的方法
Jan 03 Javascript
vue2.0+koa2+mongodb实现注册登录
Apr 10 Javascript
Angular ng-animate和ng-cookies用法详解
Apr 18 Javascript
Vue数组响应式操作及高阶函数使用代码详解
Aug 01 Javascript
vue-cli3.x配置全局的scss的时候报错问题及解决
Apr 30 Vue.js
javascript跑马灯悬停放大效果实现代码
Dec 12 #Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
Dec 12 #Javascript
javascript采用数组实现tab菜单切换效果
Dec 12 #Javascript
javascript仿qq界面的折叠菜单实现代码
Dec 12 #Javascript
日历查询的算法 如何计算某一天是星期几
Dec 12 #Javascript
javascript实现日历控件(年月日关闭按钮)
Dec 12 #Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
Dec 11 #Javascript
You might like
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
Laravel下生成验证码的类
2017/11/15 PHP
extjs fckeditor集成代码
2009/05/10 Javascript
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
JQuery live函数
2010/12/24 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
2013/09/13 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
vue生命周期实例小结
2018/08/15 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
vuex中store存储store.commit和store.dispatch的用法
2020/07/24 Javascript
在vue中实现echarts随窗体变化
2020/07/27 Javascript
JS实现简易日历效果
2021/01/25 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
Python求算数平方根和约数的方法汇总
2016/03/09 Python
python写入已存在的excel数据实例
2018/05/03 Python
python实现自动发送邮件
2018/06/20 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
机关保密承诺书
2014/06/03 职场文书
2014全年工作总结
2014/11/27 职场文书
水电施工员岗位职责
2015/04/11 职场文书
Python实现简单的猜单词
2021/06/15 Python
app场景下uniapp的扫码记录
2022/07/23 Java/Android