/******************************************************************************** Copyright (C) 1999 Thomas Brattli This script is made by and copyrighted to Thomas Brattli at www.bratta.com Visit for more great scripts. This may be used freely as long as this msg is intact! I will also appriciate any links you could give me. ********************************************************************************/ //Default browsercheck, added to all scripts! function checkBrowser(){ this.ver=navigator.appVersion this.dom=document.getElementById?1:0 this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; this.ie4=(document.all && !this.dom)?1:0; this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; this.ns4=(document.layers && !this.dom)?1:0; this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5) return this } bw=new checkBrowser() /********************************************************************************* These are the variables you have to set: *********************************************************************************/ //The speed of the timeout between each scroll. timSpeed=50 //The height of the container (change this when it scrolls to much or to little) contHeight=100 /********************************************************************************* This is the object constructor function, which applies methods and properties to the Cross-browser layer object *********************************************************************************/ function makeScrollObj(obj,nest){ nest=(!nest) ? '':'document.'+nest+'.' this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0; this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0; this.height=bw.ns4?this.css.document.height:this.el.offsetHeight this.top=b_gettop return this } //Getting the top for the top method function b_gettop(){ var gleft=(bw.ns4 || bw.ns5) ? eval(this.css.top):eval(this.css.pixelTop); return gleft; } //Variables var scrollTim; var active=0; /********************************************************************************* The scroll function. Checks what way to scroll and checks if the layer is not already on top or bottom. *********************************************************************************/ function scroll(speed){ clearTimeout(scrollTim) way=speed>0?1:0 if((!way && oScroll[active].top()>-oScroll[active].height+contHeight) || (oScroll[active].top()<0 && way)){ oScroll[active].css.top=oScroll[active].top()+speed scrollTim=setTimeout("scroll("+speed+")",timSpeed) } } //Clears the timeout so the scroll stops, this is called onmouseout. function noScroll(){ clearTimeout(scrollTim) } /********************************************************************************* Initilizes the page, makes a oScroll Array and calls the object constructor. Here you can add as many scrollObjects as you want *********************************************************************************/ function scrollInit(){ oScroll=new Array() oScroll[0]=new makeScrollObj('divScroll1','divCont') oScroll[0].css.visibility='visible' oControl=new makeScrollObj('divControl') oControl.css.visibility='visible' } /********************************************************************************* Executes the scrollInit function on pageload. *********************************************************************************/ onload=scrollInit;