|
楼主 |
发表于 2007 年 7 月 11 日 15:07:10
|
显示全部楼层
- <html>
- <head>
- <title>类似于Flash制作的一个图片展示效果</title>
- <meta http-equiv="imagetoolbar" content="no">
- <style type="text/css">
- body {cursor:crosshair;margin:0; padding:0; position:absolute; overflow:hidden; background:#222; left:0; top:0; width:100%; height:100%;zIndex:-2;}
- </style>
- <base href=http://www.phpfans.net//jscode/>
- <script type="text/javascript">
- window.onerror = new Function("return true");
- screen.bufferDepth = 16;
- document.onselectstart = function () { return false; }
- ////////////////////////////
- var NX = 3;
- var NY = 3;
- var SP = 20;
- var DELAY = 96;
- ////////////////////////////
- var object = new Array();
- var nI = 0;
- var run = false;
- var xrun = 0;
- var dR = 1;
- var iW = 0;
- var iH = 0;
- var oH = 0;
- var oW = 0;
- function CObj(N,y,x){
- this.obj = document.createElement("span");
- this.obj.onclick = new Function("object["+N+"].GE1()");
- this.obj.onmousedown = new Function("return false;");
- this.obj.style.cursor = "pointer";
- this.obj.style.position = "absolute";
- this.img = document.createElement("img");
- this.img.style.position = "absolute";
- this.img.src = IMGSRC[N%nI].src;
- this.obj.appendChild(this.img);
- IMGBOX.appendChild(this.obj);
- this.object = new Array();
- this.x = x;
- this.y = y;
- this.N = N;
- this.W = 0;
- this.H = 0;
- this.L = 0;
- this.T = 0;
- function CImg(Parent,y,x){
- this.Parent = Parent;
- this.obj = document.createElement("span");
- this.obj.style.position="absolute";
- this.obj.style.overflow="hidden";
- this.obj.style.cursor = "pointer";
- this.img = document.createElement("img");
- this.img.style.position = "absolute";
- this.img.src = IMGSRC[N%nI].src;
- this.obj.appendChild(this.img);
- this.Parent.obj.appendChild(this.obj);
- this.N = Parent.N;
- this.x = x;
- this.y = y;
- this.W = 0;
- this.H = 0;
- this.L = 0;
- this.T = 0;
- this.dx = 0;
- this.dy = 0;
- this.px = 0;
- this.py = 0;
- this.dw = 0;
- this.dh = 0;
- this.pw = 0;
- this.ph = 0;
- this.ipx = 0;
- this.ipy = 0;
- this.idx = 0;
- this.idy = 0;
- this.GE2 = function (){
- with(this){
- px -= dx * dR;
- py -= dy * dR;
- pw += dw * dR;
- ph += dh * dR;
- ipx -= idx * dR;
- ipy -= idy * dR;
- with(obj.style){
- left = Math.round(px);
- top = Math.round(py);
- width = Math.round(pw)+1;
- height = Math.round(ph)+1;
- if(dR==-1)if(pw<=W+1)obj.style.visibility="hidden";
- }
- with(img.style){
- left = Math.round(ipx-oW);
- top = Math.round(ipy-oH);
- }
- if(++xrun>=NX*NY*SP){
- xrun=0;
- run=false;
- if(dR==-1)Parent.obj.style.zIndex = 0;
- dR = -dR;
- }
- }
- }
- this.GE1 = function (N1,N2){
- with(this){
- if(dR==1){
- px = L;
- py = T;
- dx = ((Parent.L + L) - (x * Parent.W)) / SP;
- dy = ((Parent.T + T) - (y * Parent.H)) / SP;
- pw = W;
- ph = H;
- dw = (Parent.W - W) / SP;
- dh = (Parent.H - H) / SP;
- ipx = -L;
- ipy = -T;
- idx = ((x * Parent.W) - L) / SP;
- idy = ((y * Parent.H) - T) / SP;
- }
- obj.style.visibility="visible";
- if(img.height>document.body.offsetHeight)oH=(img.height-document.body.offsetHeight)/2; else oH = 0;
- if(img.width>document.body.offsetWidth/2)oW=(img.width-(document.body.offsetWidth/2))/2; else oW = 0;
- for(i=0;i<SP;i++) setTimeout("object["+N1+"].object["+N2+"].GE2()",16*i);
- }
- }
- this.DOOT = function (){
- with(this){
- W = Parent.W / NX;
- H = Parent.H / NY;
- L = x * W;
- T = y * H;
- }
- }
- }
- var k = 0;
- for(var i=0;i<NY;i++)
- for(var j=0;j<NX;j++)
- this.object[k++] = new CImg(this,i,j);
- this.GE1 = function (){
- with(this){
- if(!run){
- TXTBOX.innerHTML = "<div style='margin:2%'>"+TXTSRC[N%nI].innerHTML+"</div>";
- run = true;
- obj.style.zIndex = 1;
- for(var i=0;i<NX*NY;i++) setTimeout("object["+N+"].object["+i+"].GE1("+N+","+i+")",i*DELAY);
- }
- }
- }
- this.DOOT = function (){
- with(this){
- if(img.width<iW)iW=img.width;
- if(img.height<iH)iH=img.height;
- with(obj.style){
- W = width = iW / NX;
- H = height = iH / NY;
- L = left = x * W;
- T = top = y * H;
- }
- with(img.style){
- width = W;
- height = H;
- }
- for(var i in object) object[i].DOOT();
- }
- }
- }
- onload = function() {
- IMGSRC = document.getElementById("imgsrc").getElementsByTagName("img");
- TXTSRC = document.getElementById("txtsrc").getElementsByTagName("div");
- IMGBOX = document.getElementById("imgbox");
- TXTBOX = document.getElementById("txtbox");
- CENTER = document.getElementById("center");
- iH = document.body.offsetHeight;
- iW = document.body.offsetWidth/2;
- nI = IMGSRC.length;
- var k = 0;
- for(var i=0;i<NY;i++){
- for(var j=0;j<NX;j++){
- object[k] = new CObj(k,i,j);
- object[k++].DOOT();
- }
- }
- IMGBOX.style.width = iW;
- IMGBOX.style.height = iH;
- TXTBOX.style.width = iW;
- TXTBOX.style.height = iH;
- TXTBOX.style.left = iW;
- TXTBOX.style.visibility="visible";
- CENTER.style.left = -iW;
- CENTER.style.top = -iH/2;
- }
- //-->
- </script>
- </head>
- <body>
- <div style="position:absolute;left:50%;top:50%;"><div id="center" style="position:absolute;">
- <div id="imgbox" style="position:absolute;left:0;top:0;overflow:hidden;"></div>
- <div id="txtbox" style="position:absolute;visibility:hidden;overflow:hidden;background:#333;color:#FFF;font-family:verdana;font-size:0.8em;">
- <div style="margin:2%">
- <h2>IMGBOX</h2>Click the thumbnails on the left for a larger image. The description connected to the clicked image is displayed here.<br>
- <br>Note: for performance reasons, images are not resized and must be all of the same size.
- </div>
- </div>
- </div></div>
- <div id="imgsrc" style="visibility:hidden">
- <img src="/jscode/images/20065115756894.jpg">
- <img src="/jscode/images/20065115757878.jpg">
- <img src="/jscode/images/2006511581166.jpg">
- <img src="/jscode/images/2006511581185.jpg">
- <img src="/jscode/images/2006511581187.jpg">
- <img src="/jscode/images/2006511581588.jpg">
- <img src="/jscode/images/2006511581828.jpg">
- <img src="/jscode/images/2006511581951.jpg">
- <img src="/jscode/images/2006511581821.jpg">
- </div>
- <div id="txtsrc" style="visibility:hidden">
- <div>
- <h2>the river</h2><br>Awaken from my nap by the river
- </div>
- <div>
- <h2>transparency</h2><br>Its transparency was hypnotizing.
- </div>
- <div>
- <h2>cold</h2><br>Currents of cold water played with light.
- </div>
- <div>
- <h2>sank in</h2><br>I threw a few nuts into the river. They floated for a while, then sank in.
- </div>
- <div>
- <h2>masked</h2><br>A wide stepping stone masked the water's depth.
- </div>
- <div>
- <h2>a glimpse</h2><br>Later on, I had a glimpse of the river's bed.
- </div>
- <div>
- <h2>forgotten</h2><br>The wheelchair made a noise. Again, I had forgotten about my legs.
- </div>
- <div>
- <h2>floated</h2><br>Still, I floated in oblivion of things too real.
- </div>
- <div>
- <h2>for me</h2><br>I stared fixedly at the water's open arms. The stream was singing for me.
- </div>
- </div>
- <!-- crossbrowser images_loading_bar - Gerard Ferrandez - [url]www.dhteumeuleu.com[/url] - Feb 2005 -->
- <span id=LB0 style="position:absolute;left:50%;top:50%;"><span style="position:absolute;font-family:arial;font-size:10px;color:#FFFFFF;left:-50;top:-18">Loading...</span>
- <span style="position:absolute;left:-50;top:-5;font-size:1px;width:100;height:10px;background:#333"><span id=LB1 style="position:absolute;left:0;top:0;font-size:1px;width:0;height:10px;background:#FFFFFF"></span></span></span>
- <script>m00=document.getElementById("imgsrc").getElementsByTagName("img");m01=m00.length;function images_loading_bar(){m02=0;for(i=0;i<m01;i++)m02+=(m00[i].complete)?1:0;document.getElementById("LB1").style.width=Math.round(m02/m01*100);if(m02==m01)setTimeout("document.getElementById('LB0').style.display='none'",128); else setTimeout("images_loading_bar()", 64);};images_loading_bar();</script>
- <!-- end of images_loading_bar code -->
- </body>
- </html>
复制代码 |
|