www.webdeveloper.com
Results 1 to 3 of 3

Thread: Ghost Images on Click

  1. #1
    Join Date
    Nov 2011
    Posts
    82

    Ghost Images on Click

    I want to create something like this http://cameronreynoldsflatt.com/work/ where you can click different tabs (Print, Web, etc) and the images become transparent instead of creating new pages for each section. Does anyone know where I can find something like this? Maybe a tutorial? Thanks.

  2. #2
    Join Date
    Jun 2004
    Location
    Portsmouth UK
    Posts
    2,667
    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[*/
    #project-filter LI{
      display:inline;list-style:none;margin-left:20px;
    }
    
    #display {
      width:650px;height:500px;border:solid red 1px;
    }
    
    #display IMG {
      float:left;margin-Top:5px;margin-Left:5px;
    }
    
    /*]]>*/
    </style></head>
    
    <body>
    			<ul id="project-filter">
    				<li class="title">Projects:</li>
    				<li><a href="#" class="active" rel="all">All</a></li>
    				<li><a href="#" rel="startup">Startup</a></li>
    				<li><a href="#" rel="interactive">Interactive</a></li>
    				<li><a href="#" rel="mobile">Mobile</a></li>
    				<li><a href="#" rel="datavisualization">Data Visualization</a></li>
    			</ul>
     <div id="display" >
      <img src="http://www.vicsjavascripts.org.uk/StdImages/Egypt5.jpg" alt="img" class="all startup" />
      <img src="http://www.vicsjavascripts.org.uk/StdImages/Egypt6.jpg" alt="img" class="all startup" />
      <img src="http://www.vicsjavascripts.org.uk/StdImages/Egypt7.jpg" alt="img" class="all interactive" />
      <img src="http://www.vicsjavascripts.org.uk/StdImages/Egypt8.jpg" alt="img" class="all startup" />
      <img src="http://www.vicsjavascripts.org.uk/StdImages/Egypt9.jpg" alt="img" class="all interactive" />
      <img src="http://www.vicsjavascripts.org.uk/StdImages/Egypt10.jpg" alt="img" class="all startup" />
      <img src="http://www.vicsjavascripts.org.uk/StdImages/Egypt11.jpg" alt="img" class="all mobile" />
      <img src="http://www.vicsjavascripts.org.uk/StdImages/Egypt12.jpg" alt="img" class="all datavisualization" />
      <img src="http://www.vicsjavascripts.org.uk/StdImages/Egypt13.jpg" alt="img" class="all mobile" />
     </div>
    
    
    <script type="text/javascript">
    /*<![CDATA[*/
    // Fade Display (15-September-2012)
    // by Vic Phillips - http://www.vicsjavascripts.org.uk/
    
    function zxcFadeDisplay(o){
     var lks=document.getElementById(o.LinksID),lks=lks.getElementsByTagName('A'),imgs=document.getElementById(o.DisplayID),imgs=imgs.getElementsByTagName('IMG'),ms=o.FadeDuration,to=o.FadeTo,ary=[],z0=0,z1=0;
     for (;z0<lks.length;z0++){
      if (lks[z0].rel){
       lks[z0].onclick=function(){ return false; }
       this.addevt(lks[z0],'mouseup','show',lks[z0].rel);
      }
     }
     for (;z1<imgs.length;z1++){
      ary[z1]=[imgs[z1],imgs[z1].className,100,'dly'+z1];
     }
     this.ary=ary;
     this.ms=typeof(ms)=='number'?ms:1000;
     this.to=typeof(to)=='number'?to:50;
    }
    
    zxcFadeDisplay.prototype={
    
     show:function(cls){
      var o=this,ary=o.ary,z0=0;
      for (;z0<ary.length;z0++){
       clearTimeout(this[ary[z0][3]]);
       this.animate(ary[z0],ary[z0][2],ary[z0][1].indexOf(cls)>=0?100:this.to,new Date(),this.ms);
      }
     },
    
     animate:function(ary,f,t,srt,mS){
      var oop=this,obj=ary[0],ms=new Date().getTime()-srt,now=(t-f)/mS*ms+f;
      if (isFinite(now)){
       obj.style.filter='alpha(opacity='+now+')';
       obj.style.opacity=obj.style.MozOpacity=obj.style.WebkitOpacity=obj.style.KhtmlOpacity=now/100-.001;
       ary[2]=now;
      }
      if (ms<mS){
       oop[ary[3]]=setTimeout(function(){ oop.animate(ary,f,t,srt,mS); },10);
      }
     },
    
     addevt:function(o,t,f,p){
      var oop=this;
      if (o.addEventListener) o.addEventListener(t,function(e){ return oop[f](p,e);}, false);
      else if (o.attachEvent) o.attachEvent('on'+t,function(e){ return oop[f](p,e); });
     }
    }
    
    
    
    new zxcFadeDisplay({
     LinksID:'project-filter', // the unique ID name of the links parent node.          (string)
     DisplayID:'display',      // the unique ID name of the display images parent node. (string)
     FadeDuration:1000,        //(optional) the fade duration in milli seconds.         (number, default = 1000)
     FadeTo:50                 //(optional) the fade out opacity(0-100).                (number, default = 50)
    });
    
    /*]]>*/
    </script>
    
    </body>
    
    </html>
    Vic

    God loves you and will never love you less.

    http://www.vicsjavascripts.org/Home.htm
    If my post has been useful please donate to http://www.operationsmile.org.uk/

  3. #3
    Join Date
    Nov 2011
    Posts
    82
    Beautiful! That worked perfectly!! Thanks so much. Now what if I wanted each of those links to stay 'Active' when you click them? I have that function working when you go to new pages, i.e. the Print Page, Web Page, etc etc, but can't figure out what I would need to do now since it all lives on one page. Would you possibly manipulate the href="" with the class="Active" or something like that?? Thanks again!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles