www.webdeveloper.com
Results 1 to 1 of 1

Thread: Undefined in FF/IE8

Threaded View

  1. #1
    Join Date
    Nov 2008
    Posts
    14

    Unhappy Undefined in FF/IE8

    HTML Code:
    I am using this Javascript for a tabbed menu and just noticed that in s=document.getElementById(t); ds=s.getElementsByTagName('div');l=ds.length; i=y=0;, that "s" in undefined. Any ideas how to make this work. Thanks for your help.
    Code:
    var slider=function(){
    	var array=[]; var speed=4; var timer=5;
    	return{
    		init:function(t,c){
    			var s,ds,l,i,y;
    			s=document.getElementById(t); ds=s.getElementsByTagName('div'); l=ds.length; i=y=0;
    			for(i=0;i<l;i++){
    				var d,did; d=ds[i]; did=d.id;
    				if(did.indexOf("tpiaheader")!=-1){
    					y++; d.onclick=new Function("slider.process(this)");
    				}else if(did.indexOf("tpiacontent")!=-1){
    					array.push(did.replace('-tpiacontent','')); d.maxh=d.offsetHeight;
    					if(c!=y){d.style.height='0px'; d.style.display='none'}
    					else{d.style.display='block'}
    				} 
    			}
    		},
    		process:function(d){
    			var cl,i; cl=array.length; i=0;
    			for(i;i<cl;i++){
    				var s,h,c,cd;
    				s=array[i]; h=document.getElementById(s+'-tpiaheader');
    				c=s+'-tpiacontent'; cd=document.getElementById(c); clearInterval(cd.timer);
    				if(h==d&&cd.style.display=='none'){
    					cd.style.display='block'; this.islide(c,1);
    				}else if(cd.style.display=='block'){this.islide(c,-1)}
    			}
    		},
    		islide:function(i,d){var c,m; c=document.getElementById(i); m=c.maxh; c.direction=d; c.timer=setInterval("slider.slide('"+i +"')",timer)},
    		slide:function(i){
    			var c,m,h,dist; c=document.getElementById(i); m=c.maxh; h=c.offsetHeight;
    			dist=(c.direction==1)?Math.round((m-h)/speed):Math.round(h/speed);
    			if(dist<=1){dist=1}
    			c.style.height=h+(dist*c.direction)+'px'; c.style.opacity=h/c.maxh; c.style.filter='alpha(opacity='+(h*100/c.maxh)+')';
    			if(h<2&&c.direction!=1){
    				c.style.display='none'; clearInterval(c.timer);
    			}else if(h>(m-2)&&c.direction==1){clearInterval(c.timer)}
    		}
    };}();
    Last edited by JRye; 05-05-2009 at 10:53 AM.

Thread Information

Users Browsing this Thread

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

Tags for this Thread

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