Mega Code Archive

 
Categories / JavaScript DHTML / Ajax Layer
 

Image in Frame

http://dynapi.sourceforge.net/ GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 <html> <head> <title>DynAPI - Image Frame</title> <script language="JavaScript" src="./dynapisrc/dynapi.js"></script> <script language="Javascript"> dynapi.library.setPath('./dynapisrc/'); dynapi.library.include('dynapi.api'); dynapi.library.include('dynapi.functions.Image'); dynapi.library.include('dynapi.gui.Frame'); dynapi.library.include('dynapi.gui.BorderManager'); dynapi.library.include('dynapi.gui.TemplateManager'); </script> <script language="Javascript"> var doc=dynapi.document; var p='./dynapiexamples/images/'; var f=dynapi.functions; var fN=f.getImage(p+'f1-n.jpg',100,17), fE=f.getImage(p+'f1-e.jpg',17,100), fS=f.getImage(p+'f1-s.jpg',100,17), fW=f.getImage(p+'f1-w.jpg',17,100); var fNE=f.getImage(p+'f1-ne.jpg',17,17), fSE=f.getImage(p+'f1-se.jpg',17,17), fSW=f.getImage(p+'f1-sw.jpg',17,17), fNW=f.getImage(p+'f1-nw.jpg',17,17); var fa=[ // Array of frame styles to choose from.   {w:2, s:'red'},   {w:2, s:['white','black','black','white']},   {w:2, s:['black','white','white','black']},   {w:[1,0,3,4], s:['red','yellow','green','blue']},   {w:[2,2,0,0], s:['yellow','blue']},   {w:2, s:['red','green']},   {w:[2,0,0,2], s:'blue'},   {w:[0,2,4,0], s:'red'},   {w:[0,0,2,2], s:'blue'},   {w:[0,0,2], s:'red'},   {w:1},   {} ]; // Frame style with image sides and corners. var albumFrame=doc.addChild(new Frame(17,[fN.src,fE.src,fS.src,fW.src],[fNE.src,fSE.src,fSW.src,fNW.src])); albumFrame.setBgColor('#c4c2c7'); var albumHTML=[ '<table width=250 height=220 border=0 cellspacing=0 cellpadding=0>', '<tr><td height=20 align="center" valign="middle" colspan=5><b>Click on an image to cycle it\'s frame.</b></td></tr>', '<tr><td width=50 height=50 align="center" valign="middle">{@thumb0}</td><td width=50 align="center" valign="middle">{@thumb1}</td><td width=50 align="center" valign="middle">{@thumb2}</td><td width=50 align="center" valign="middle">{@thumb3}</td><td width=50 align="center" valign="middle">{@thumb4}</td></tr>', '<tr><td height=50 align="center" valign="middle">{@thumb5}</td><td align="center" valign="middle">{@thumb6}</td><td align="center" valign="middle">{@thumb7}</td><td align="center" valign="middle">{@thumb8}</td><td align="center" valign="middle">{@thumb9}</td></tr>', '<tr><td height=50 align="center" valign="middle">{@thumb10}</td><td align="center" valign="middle">{@thumb11}</td><td align="center" valign="middle">{@thumb12}</td><td align="center" valign="middle">{@thumb13}</td><td align="center" valign="middle">{@thumb14}</td></tr>', '<tr><td height=50 align="center" valign="middle">{@thumb15}</td><td align="center" valign="middle">{@thumb16}</td><td align="center" valign="middle">{@thumb17}</td><td align="center" valign="middle">{@thumb18}</td><td align="center" valign="middle">{@thumb19}</td></tr>', '</table>' ]; var albumTemplate=new Template(albumHTML.join(''),10,10,250,220); albumFrame.addContent(albumTemplate); albumFrame.setSize(300,270); var album=[ {thumb:p+'arrowdown.gif',tw:9,th:5}, {thumb:p+'arrowleft.gif',tw:5,th:9}, {thumb:p+'arrowright.gif',tw:5,th:9}, {thumb:p+'arrowup.gif',tw:9,th:5}, {thumb:p+'left.gif',tw:20,th:22}, {thumb:p+'btn_delete.gif',tw:25,th:22}, {thumb:p+'btn_first.gif',tw:25,th:22}, {thumb:p+'btn_last.gif',tw:25,th:22}, {thumb:p+'btn_new.gif',tw:25,th:22}, {thumb:p+'btn_next.gif',tw:25,th:22}, {thumb:p+'btn_prev.gif',tw:25,th:22}, {thumb:p+'btn_save.gif',tw:25,th:22}, {thumb:p+'btn_undo.gif',tw:25,th:22}, {thumb:p+'calc.gif',tw:32,th:32}, {thumb:p+'eicon1.gif',tw:32,th:32}, {thumb:p+'eicon2.gif',tw:32,th:32}, {thumb:p+'eicon3.gif',tw:32,th:32}, {thumb:p+'bin_full.gif',tw:32,th:32}, {thumb:p+'bin_off.gif',tw:32,th:32}, {thumb:p+'bin_on.gif',tw:32,th:32} ]; var n, a, img, frame, length=album.length; for(n=0;n<length;n++) {   a=album[n];   img=f.getImage(a.thumb,a.tw,a.th);   frame = albumTemplate.addChild(new Frame(fa[0].w,fa[0].s),'thumb'+n)   frame.addContent(new DynLayer(img.getHTML(),null,null,img.w,img.h));   frame._fImage=img;   img._fFrame=frame;   a.frame=frame;   frame.addEventListener({     onclick:function(e){       var o=e.getSource();       o._fState=(o._fState<fa.length-1)?o._fState+1:0;       o.setBorder(fa[o._fState].w,fa[o._fState].s);     }   }); } function futureSetBorder(frame,style) {   frame._fState=style;   var rand=Math.floor(100+Math.random()*(500-101)); // 100ms to 500ms   setTimeout(frame+'.setBorder(fa['+style+'].w,fa['+style+'].s)',rand); }; dynapi.onLoad(function() {   for(n=0;n<length;n++) {     a=album[n]; frame=a.frame; img=frame._fImage;     if(img.complete) futureSetBorder(frame,1);     else img.onload=function() { futureSetBorder(this._fFrame,2); };   } }); </script> </head> <body bgcolor="#cccccc"> <script>   dynapi.document.insertAllChildren(); </script> </body> </html>                     dynapi.zip( 791 k)