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>
<style type="text/css">
/*<![CDATA[*/
#img {
position:absolute;overflow:hidden;left:200px;top:100px;width:200px;height:150px;background-Color:#FFFFCC;border:solid red 1px;
}
/*]]>*/
</style></head>
<body>
<div id="img" >
<a href="#"><img class="card" src="http://www.vicsjavascripts.org.uk/StdImages/Egypt5.jpg" /></a>
<img title="Egypt 6" class="card" src="http://www.vicsjavascripts.org.uk/StdImages/Egypt6.jpg" />
<img title="Egypt 7" class="card" src="http://www.vicsjavascripts.org.uk/StdImages/Egypt7.jpg" />
<img class="card" src="http://www.vicsjavascripts.org.uk/StdImages/Egypt8.jpg" />
</div>
<script type="text/javascript">
/*<![CDATA[*/
// Flip Image (12-Febuary-2012)
// by Vic Phillips - http://www.vicsjavascripts.org.uk/
function zxcFlip(o){
var oop=this,mde=o.Mode,mde=typeof(mde)=='string'&&mde.charAt(0).toUpperCase()=='V'?['top','height','offsetTop','offsetHeight']:['left','width','offsetLeft','offsetWidth'],obj=document.getElementById(o.ID),imgs=obj.getElementsByTagName('IMG'),src=[],ms=o.FlipDuration,sz=obj[mde[3]],ary=[],lgth,lk=document.createElement('A'),z0=0,z1=0;
obj.appendChild(lk);
for (;z0<imgs.length;z0++){
ary[z0]=imgs[z0];
src[z0]=[imgs[z0].src,imgs[z0].parentNode.href,imgs[z0].title];
}
lgth=ary.length;
for (;z1<lgth;z1++){
ary[z1].style.position='absolute';
ary[z1].style.left=(z1>1?-3000:0)+'px';
ary[z1].style.top='0px';
ary[z1].style.width=obj.offsetWidth+'px';
ary[z1].style.height=obj.offsetHeight+'px';
ary[z1].style.borderWidth='0px';
ary[z1].src=src[lgth-1][0];
ary[z1].removeAttribute('title');
lk.appendChild(ary[z1]);
}
ary[1].style[mde[1]]='0px';
ary[1].style[mde[0]]=sz/2+'px';
oop.obj=obj;
oop.lk=lk;
oop.mde=mde;
oop.sz=sz;
oop.ary=ary;
oop.srcary=src;
oop.cnt=lgth-1;
oop.nu=1;
oop.links();
oop.ms=typeof(ms)=='number'?ms/2:500;
oop.addevt(obj,'mouseover','next');
}
zxcFlip.prototype={
next:function(e){
if (this.ckevt(e)){
this.flip(this.nu==0?1:0,true);
}
},
flip:function(nu,auto){
var oop=this,mde=oop.mde,ary=oop.ary,sz=oop.sz,max=Math.max(ary[0][mde[3]],ary[1][mde[3]]),ms=oop.ms*max/sz;
clearTimeout(oop.to1);
clearTimeout(oop.to2);
oop.nu=nu;
oop.lk.removeAttribute('title');
oop.animate(mde[1],ary,nu,ary[nu][mde[3]],0,new Date(),ms,'to1',false);
oop.animate(mde[0],ary,nu,ary[nu][mde[2]],sz/2,new Date(),ms,'to2',true);
},
animate:function(mde,ary,nu,f,t,srt,mS,to,ud){
var oop=this,srcary=oop.srcary,ms=new Date().getTime()-srt,now=(t-f)/mS*ms+f;
if (isFinite(now)){
ary[nu].style[mde]=Math.max(now,0)+'px';
}
if (ms<mS){
oop[to]=setTimeout(function(){ oop.animate(mde,ary,nu,f,t,srt,mS,to,ud); },10);
}
else {
ary[nu].style[mde]=t+'px';
if (ud){
nu=nu==0?1:0;
mde=oop.mde;
oop.cnt=++oop.cnt%srcary.length;
ary[nu].src=srcary[oop.cnt][0];
oop.links();
oop.animate(mde[1],ary,nu,0,oop.sz,new Date(),mS,'to1',false);
oop.animate(mde[0],ary,nu,oop.sz/2,0,new Date(),mS,'to2',false);
}
}
},
ckevt:function(e){
e.cancelBubble=true;
if (e.stopPropagation){
e.stopPropagation();
}
var eobj=e.target?e.target:e.srcElement;
if (eobj.nodeType==3){
eobj=eobj.parentNode;
}
eobj=(e.relatedTarget)?e.relatedTarget:(e.type=='mouseout')?e.toElement:e.fromElement;
if (!eobj||eobj==this.obj){
return false;
}
while (eobj.parentNode){
if (eobj==this.obj){
return false;
}
eobj=eobj.parentNode;
}
return true;
},
addevt:function(o,t,f,p){
var oop=this;
if (o.addEventListener) o.addEventListener(t,function(e){ return oop[f](e,p);}, false);
else if (o.attachEvent) o.attachEvent('on'+t,function(e){ return oop[f](e,p); });
},
links:function(){
var oop=this,srcary=oop.srcary,cnt=oop.cnt;
oop.obj.removeAttribute('title');
oop.lk.removeAttribute('href');
if (srcary[cnt][1]){
oop.lk.href=srcary[cnt][1];
}
if (srcary[cnt][2]){
oop.obj.title=srcary[cnt][2];
}
}
}
new zxcFlip({
ID:'img', // the unique ID name of the parent node. (string)
Mode:'horizontal', //(optional) mode of execution, 'horizontal' or 'vertical'. (number, default = 'horizontal')
FlipDuration:1200 //(optional) the flip duration in milli seconds. (number, default = 1000)
});
//new zxcFlip({
// ID:'img2',
// Mode:'vertical'
//});
/*]]>*/
</script>
</body>
</html>
Bookmarks