/********************************************************************************** PageScroll * Copyright (C) 2001 Thomas Brattli * This script was released at DHTMLCentral.com * Visit for more great scripts! * This may be used and changed freely as long as this msg is intact! * We will also appreciate any links you could give us. * * Made by Thomas Brattli *********************************************************************************/ function lib_bwcheck(){ //Browsercheck (needed) this.ver=navigator.appVersion this.agent=navigator.userAgent this.dom=document.getElementById?1:0 this.opera5=this.agent.indexOf("Opera 5")>-1 this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0; this.ie4=(document.all && !this.dom && !this.opera5)?1:0; this.ie=this.ie4||this.ie5||this.ie6 this.mac=this.agent.indexOf("Mac")>-1 this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; this.ns4=(document.layers && !this.dom)?1:0; this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5) return this } var bw=new lib_bwcheck() /********************************************************************************* 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 } // A unit of measure that will be added when setting the position of a layer. var px = bw.ns4||window.opera?"":"px"; //Getting the top for the top method function b_gettop(){ var gleft=(bw.ns4 || bw.ns6)?parseInt(this.css.top):eval(this.css.pixelTop); return gleft; } //Variables var scrollTim = 1; 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)+px scrollTim = setTimeout("scroll("+speed+")",timSpeed) } } //Clears the timeout so the scroll stops, this is called onmouseout. function noScroll(){ clearTimeout(scrollTim) } /********************************************************************************* Changes the active layer. Hides the one that's visible and shows the "new" one. Also set's the new layers top to 0 so it starts at top. *********************************************************************************/ function changeActive(num){ oScroll[active].css.visibility = "hidden" active = num oScroll[active].css.top = 0+px oScroll[active].css.visibility = "visible" } /********************************************************************************* 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() // You can add and remove scrollObjects here. oScroll[0] = new makeScrollObj('divScroll1','divCont') oScroll[0].css.left = 0+px oScroll[0].css.top = 0+px oScroll[0].css.visibility = "visible" } /********************************************************************************* Executes the scrollInit function on pageload. *********************************************************************************/ onload = scrollInit;