// JavaScript Document /* ******************************************************************** *** GreyWyvern's HTML Block Scroller & Marquee ************************ *********************************************************************** * HTML Block Scroller & Marquee JavaScript - v1.9 * - Copyright 2007 - Licenced for free distribution under the BSDL * - http://www.opensource.org/licenses/bsd-license.php * */ // ***** Sample scroller #1 //var scroll1 = new scrollObject("whyprecisiontext", 145, 100, "up", 7000, 1.15); // scroll1.block[0] = "Mainbrace News Title 1
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce convallis. Curabitur aliquet. Duis lacinia. Lorem ipsum dolor sit amet."; // scroll1.block[1] = "Mainbrace News Title 2
Curabitur aliquet. Duis lacinia, dui ac elementum commodo, nunc orci sodales erat, id dapibus orci nisi et pede. Lorem ipsum dolor sit amet."; // scroll1.block[2] = "Mainbrace News Title 3
Duis ultrices. Praesent auctor augue sed est. Aliquam erat volutpat auctor augue sed est. Aliquam erat volutpat. Lorem ipsum dolor sit amet."; // scroll1.block[3] = "Mainbrace News Title 4
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce convallis. Curabitur aliquet. Duis lacinia. Lorem ipsum dolor sit amet."; // ***** Sample scroller #2 /*var scroll2 = new scrollObject("scr2", 468, 60, "left", 3000, 1.5); scroll2.block[0] = 'Visit GreyWyvern.com!'; scroll2.block[1] = 'Home of the Orca Scripts!'; scroll2.block[2] = ''; *. /* ***** * Instead of using the onload attribute of the tag, you can * also start your scrollers this way. * */ /*window.onload = function() { scroll1.scroll(); //scroll2.scroll(); }*/ /* ******************************************************************** * The Mighty ScrollObject * - Don't edit this if you know what's good for ya! * */ function scrollObject(main, width, height, direct, pause, speed) { var self = this; this.main = main; this.width = width; this.height = height; this.direct = direct; this.pause = pause; this.speed = Math.max(1.001, Math.min((direct == "up" || direct == "down") ? height : width, speed)); this.block = new Array(); this.blockprev = this.offset = 0; this.blockcurr = 1; this.mouse = false; this.scroll = function() { if (!document.getElementById) return false; this.main = document.getElementById(this.main); while (this.main.firstChild) this.main.removeChild(this.main.firstChild); this.main.style.overflow = "hidden"; this.main.style.position = "relative"; this.main.style.width = this.width + "px"; this.main.style.height = this.height + "px"; for (var x = 0; x < this.block.length; x++) { var table = document.createElement('table'); table.cellPadding = table.cellSpacing = table.border = "0"; table.style.position = "absolute"; table.style.left = table.style.top = "0px"; table.style.width = this.width + "px"; table.style.height = this.height + "px"; table.style.overflow = table.style.visibility = "hidden"; var tbody = document.createElement('tbody'); var tr = document.createElement('tr'); var td = document.createElement('td'); td.innerHTML = this.block[x]; tr.appendChild(td); tbody.appendChild(tr); table.appendChild(tbody); this.main.appendChild(this.block[x] = table); } if (this.block.length > 1) { this.main.onmouseover = function() { self.mouse = true; } this.main.onmouseout = function() { self.mouse = false; } setInterval(function() { if (!self.offset && self.scrollLoop()) self.block[self.blockcurr].style.visibility = "visible"; }, this.pause); } this.block[this.blockprev].style.visibility = "visible"; } this.scrollLoop = function() { if (!this.offset) { if (this.mouse) return false; this.offset = (this.direct == "up" || this.direct == "down") ? this.height : this.width; } else this.offset = Math.floor(this.offset / this.speed); if (this.direct == "up" || this.direct == "down") { this.block[this.blockcurr].style.top = ((this.direct == "up") ? this.offset : -this.offset) + "px"; this.block[this.blockprev].style.top = ((this.direct == "up") ? this.offset - this.height : this.height - this.offset) + "px"; } else { this.block[this.blockcurr].style.left = ((this.direct == "left") ? this.offset : -this.offset) + "px"; this.block[this.blockprev].style.left = ((this.direct == "left") ? this.offset - this.width : this.width - this.offset) + "px"; } if (!this.offset) { this.block[this.blockprev].style.visibility = "hidden"; this.blockprev = this.blockcurr; if (++this.blockcurr >= this.block.length) this.blockcurr = 0; } else setTimeout(function() { self.scrollLoop(); }, 30); return true; } }