Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<base href="http://www.vicsjavascripts.org/StdImages/" />
<style type="text/css">
/*<![CDATA[*/
#slider {
position:relative;left:50px;top:0px;width:700px;height:200px;border:solid red 1px;
}
#slider2 {
position:relative;left:50px;top:0px;width:700px;height:200px;border:solid red 1px;
}
.page {
position:absolute;left:0px;top:0px;width:700px;height:200px;border:solid red 1px;
}
/*]]>*/
</style>
</head>
<body>
<input type="button" name="" value="Next" onclick="zxcImageSlider.Next('slider',1);" />
<input type="button" name="" value="Back" onclick="zxcImageSlider.Next('slider',-1);" />
<input type="button" name="" value="Auto" onclick="zxcImageSlider.Auto('slider');" />
<input type="button" name="" value="Pause" onclick="zxcImageSlider.Pause('slider');" />
<input type="button" name="" value="GoTo 0" onclick="zxcImageSlider.GoTo('slider',0);" />
<input type="button" name="" value="GoTo 2" onclick="zxcImageSlider.GoTo('slider',1);" />
<input type="button" name="" value="GoTo 4" onclick="zxcImageSlider.GoTo('slider',2);" />
<input type="button" name="" value="Toggle Auto" onclick="zxcImageSlider.Toggle('slider');" />
<div id="slider" class="slider" >
<img class="page" src="0.gif" />
<img class="page" src="2.gif" />
<img class="page" src="4.gif" />
</div>
<input type="button" name="" value="ChangeImages" onclick="zxcImageSlider.Init({ParentID:'slider',ImageArray:['6.gif','7.gif','8.gif']});" />
<br />
<input type="button" name="" value="Toggle Auto(Both)" onclick="zxcImageSlider.Toggle('slider');zxcImageSlider.Toggle('slider2');" />
<br />
<br />
<input type="button" name="" value="Next" onclick="zxcImageSlider.Next('slider2',1);" />
<input type="button" name="" value="Back" onclick="zxcImageSlider.Next('slider2',-1);" />
<input type="button" name="" value="Auto" onclick="zxcImageSlider.Auto('slider2');" />
<input type="button" name="" value="Pause" onclick="zxcImageSlider.Pause('slider2');" />
<input type="button" name="" value="GoTo 1" onclick="zxcImageSlider.GoTo('slider2',0);" />
<input type="button" name="" value="GoTo 3" onclick="zxcImageSlider.GoTo('slider2',1);" />
<input type="button" name="" value="GoTo 5" onclick="zxcImageSlider.GoTo('slider2',2);" />
<input type="button" name="" value="Toggle Auto" onclick="zxcImageSlider.Toggle('slider2');" />
<div id="slider2" class="slider" >
<img class="page" src="1.gif" />
<img class="page" src="3.gif" />
<img class="page" src="5.gif" />
</div>
<script type="text/javascript">
/*<![CDATA[*/
var zxcImageSlider={
Toggle:function(id,ud){
var o=this['zxc'+id];
if (o){
o.auto?this.Pause(id):this.Auto(id);
}
},
Next:function(id,ud){
var o=this['zxc'+id],ud=typeof(ud)=='number'&&ud<0?-1:1;
if (o){
o.ud=ud;
this.rotate(o,o.n+ud);
}
},
GoTo:function(id,n){
var o=this['zxc'+id];
if (o){
this.Pause(o.id);
if (o.a[n]&&o.n!=n){
o.ud=n<o.n?-1:1;
this.rotate(o,n);
}
}
},
Auto:function(id,ms){
var oop=this,o=oop['zxc'+id],ms;
if (o){
o.to=setTimeout(function(){ oop.rotate(o,o.n+o.ud,true); },typeof(ms)=='number'&&ms>=0?ms:200);
}
},
Pause:function(id){
var o=this['zxc'+id];
if (o){
o.auto=false;
clearTimeout(o.to);
}
},
Init:function(o){
var id=o.ParentID,p=document.getElementById(id),a=o.ImageArray,ms=o.Animate,hld=o.AutoHold,s=o.AuoStart,i,z0=0;
if (p&&a instanceof Array){
p.innerHTML='';
for (;z0<a.length;z0++){
i=document.createElement('IMG');
i.src=a[z0];
p.appendChild(i);
}
}
var imgs=p?p.getElementsByTagName('IMG'):[];
if (imgs[2]){
var i=this['zxc'+id],w=p.offsetWidth,h=p.offsetHeight,z1=0;
p.style.overflow='hidden';
o.a=[];
for (var z1=0;z1<imgs.length;z1++){
imgs[z1].style.position='absolute';
imgs[z1].style.zIndex='0';
imgs[z1].style.visibility='visible';
imgs[z1].style.left=(z1!=0?w:0)+'px';
imgs[z1].style.top='0px';
imgs[z1].style.width=w+'px';
imgs[z1].style.height=h+'px';
o.a[z1]=[imgs[z1],'left'];
}
o.id=id;
o.sz=w;
o.n=0;
o.l=z1-1;
o.ud=o.ud?o.ud:1;
o.ms=typeof(ms)=='number'&&ms>0?ms:i.ms?i.ms:1000;
o.h=typeof(h)=='number'&&hld>0?hld:i.h?i.h:o.ms*4;
o.oc=o.OnComplete;
this['zxc'+id]=o;
this.Pause(id);
typeof(s)=='number'&&s>=0?this.Auto(id,s):null;
}
},
rotate:function(o,n,a){
this.Pause(o.id);
o.auto=a===true;
n=n<0?o.l:n>o.l?0:n;
o.a[n][0].style.left=o.sz*o.ud+'px';
this.animate(o,o.a[o.n],0,-o.sz*o.ud,new Date(),o.ms);
this.animate(o,o.a[n],o.sz*o.ud,0,new Date(),o.ms,true);
o.n=n;
},
animate:function(o,a,f,t,srt,mS,x){
clearTimeout(a[4]);
var oop=this,ms=new Date()-srt,n=(t-f)/mS*ms+f;
if (isFinite(n)){
a[0].style[a[1]]=n+'px';
}
if (ms<mS){
a[4]=setTimeout(function(){ oop.animate(o,a,f,t,srt,mS,x); },10);
}
else {
a[0].style[a[1]]=t+'px';
x&&o.auto?oop.Auto(o.id,o.h):null;
typeof(o.oc)=='function'?o.oc():null;
}
}
}
zxcImageSlider.Init({
ParentID:'slider', // the unique ID of the parent DIV. (string)
Animate:1000, //(optional) the slide duration in mill-sec. (number, default)
AutoHold:2*1000, //(optional) the auto rotate delay in mill-sec. (number, animate*4)
// AuoStart:2000, //(optional) the auto rotate start delay in mill-sec. (number, no auto start)
OnComplete:function(){
// setTimeout(function(){ zxcImageSlider.Next('slider2',1); },10*100);
}
});
zxcImageSlider.Init({
ParentID:'slider2',
Animate:1000,
AutoHold:15*1000,
// AuoStart:2000,
OnComplete:function(){
// setTimeout(function(){ zxcImageSlider.Next('slider',1); },10*100);
}
});
//zxcImageSlider.Next('slider',1);
/*]]>*/
</script>
</body>
</html>
Bookmarks