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 相关文章推荐
JS 获取span标签中的值的代码 支持ie与firefox
Aug 24 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
Jan 01 Javascript
jquery通过visible来判断标签是否显示或隐藏
May 08 Javascript
jQuery实现鼠标划过修改样式的方法
Apr 14 Javascript
node.js操作mysql(增删改查)
Jul 24 Javascript
浅析JavaScript作用域链、执行上下文与闭包
Feb 01 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
May 26 Javascript
详谈JS中实现种子随机数及作用
Jul 19 Javascript
JS简单生成两个数字之间随机数的方法
Aug 03 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
Mar 02 Javascript
利用babel将es6语法转es5的简单示例
Dec 01 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
Oct 29 Javascript
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
php header()函数使用说明
2008/07/10 PHP
php 使用post,get的一种简洁方式
2010/04/25 PHP
浅析PHP的ASCII码转换类
2013/07/05 PHP
yii的CURD操作实例详解
2014/12/04 PHP
php排序算法实例分析
2016/10/17 PHP
如何实现动态删除javascript函数
2007/05/27 Javascript
深入认识javascript中的eval函数
2009/11/02 Javascript
js几个验证函数代码
2010/03/25 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
小程序tab页无法传递参数的方法
2018/08/03 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
基于wxpython实现的windows GUI程序实例
2015/05/30 Python
python3中zip()函数使用详解
2018/06/29 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
美国家具网站:Cymax
2016/09/17 全球购物
什么是组件架构
2016/05/15 面试题
大学生就业推荐信范文
2013/11/29 职场文书
党员教师工作决心书
2014/03/13 职场文书
乡镇干部个人对照检查材料思想汇报(原创篇)
2014/09/28 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
企业年检委托书范本
2014/10/14 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
在Python中如何使用yield
2021/06/07 Python