¿Nuevo usuario?
Puedes registrarte aquí
 
       
Menú principal
 
 Navegación
Buscar
dpForo
dpFAQ
dpManuales
dpDescargas
dpThemes
Noticias por Temas
Recomiéndanos
Enlaces
Créditos
dzStaffStatus
Miembros:  Administradores
No Conectado  el_cuervo  
No Conectado  Dixso  
Miembros:  Colaboradores
No Conectado  AnyKiller  
No Conectado  nestormateo  
No Conectado  docser  
Miembros:  Moderadores
No Conectado  cardiru  
No Conectado  javiermisol  
Miembros:  Traductores
No Conectado  gnrx  
Miembros:  Miembros:
Ultimo:  Nuevos Hoy: 2
Ultimo:  Nuevos Ayer: 9
Ultimo:  Total: 71564
Ultimo:  Ultimo:
edhm
Miembros:  Conectados
Miembros:  Miembros: 1
Invitados:  Invitados: 48
Total:  Total: 49
Miembros:  Miembros Online
Conectado  Nandy  
Sponsor
dp-Tools
 Generador de Menús
 Pop-Up Maker
 Generador de Bloques
 Generador de Módulos
Enlázanos


Texto del enlace:


Otros Banners:



Theme creado por
dev-postnuke.com

 Foro dev-postnuke.com
  Desarrollo dev-postnuke :: Peticiones
  Peticion Scroll Vertical de solo texto

Bienvenido invitado

Moderado por: el_cuervo, Dixso, AnyKiller, cardiru, javiermisol, MrGer << Tema anterior   Tema siguiente >>
Imprimir tema
Autor Tema: Peticion Scroll Vertical de solo texto
tany
Enviado: 09/01/2006 a las 19:01
Habitual
Habitual


Karma: 6 (5 Votos)

Registrado: 26/08/05
Mensajes: 74

Estado: Desconectado
Ultima visita: 25/04/06
hola!!! saludos a todos.
Utilizo la version 750
Pues intente hacer un bloque vertical con scroll utilizando el Generador de bloques, pero je no se que hice mal que no me resulto, ahi les va el procedimiento de lo que hice y espero que me puedan ayudar porque por lo que vi buscando en el foro, a muchos les interesa algo similar.

Encontre un tutorial en una pagina y funciona perfectamente en archivos html
Paso 1: Agregue el siguiente código en el BODY de su web, donde quiera ver el Scroller:
Código
  1. <div id="tempholder"></div>
  2.  
  3. /******************************************
  4. * Scroller Script - HTML.Dynamico 2001
  5. * Mas Scripts y Recursos para tu web en:
  6. * http://www.htmldynamico.cjb.net
  7. ******************************************/
  8.  
  9. //DEFINA LA APARIENCIA Y LOS MENSAJES DEL SCROLLER
  10. var myScroller1 = new Scroller(0, 0, 480, 45, 1, 5); //(xpos, ypos, width, height, border, padding)
  11. myScroller1.setColors("#006600", "#ccffcc", "#009900"); //(fgcolor, bgcolor, bdcolor)
  12. myScroller1.setFont("Verdana,Arial,Helvetica", 2);
  13. myScroller1.addItem("<b>Haz Click para entrar en <a href='http://www.htmldynamico.cjb.net'>HTML.Dynamico</a>, tu centro de recursos DHTML en español!</b>");
  14. myScroller1.addItem("<b>Visite <a href='http://www.download.com/'>Download.com</a>, todo para bajar!</b>");
  15. myScroller1.addItem("<b>Looking for free JavaScripts? Visit <a href='http://javascriptkit.com/'>JavaScript Kit.</a>");
  16. myScroller1.addItem("<b>Discuss and get help on web coding, at <a href='http://www.codingforums.com/'>CodingForums.com</a></b>");
  17.  
  18. //DEFINA LA PAUSA DEL SCROLLER
  19. myScroller1.setPause(2500); //Pausa entre mensajes, en milliseconds
  20.  
  21. function runmikescroll() {
  22.  
  23.   var layer;
  24.   var mikex, mikey;
  25.  
  26.   // Locate placeholder layer so we can use it to position the scrollers.
  27.  
  28.   layer = getLayer("placeholder");
  29.   mikex = getPageLeft(layer);
  30.   mikey = getPageTop(layer);
  31.  
  32.   // Create the first scroller and position it.
  33.  
  34.   myScroller1.create();
  35.   myScroller1.hide();
  36.   myScroller1.moveTo(mikex, mikey);
  37.   myScroller1.setzIndex(100);
  38.   myScroller1.show();
  39. }
  40.  
  41. window.onload=runmikescroll
  42.  
  43. <div id="placeholder" > </div>

Paso 2: El script requiere dos archivos externos .js, los cuales deberás subirlos a tu directorio web:
Archivo 1 se llama: dhtmllib.js y su codigo es el siguiente

Cita/******************************************************************************
* dhtmllib.js *
* Provides basic functions for DHTML positioned elements which will work on *
* both Netscape Communicator and Internet Explorer browsers (version 4.0 and *
* up). *
******************************************************************************/

// Determine browser.

var isMinNS4 = document.layers
var ie=document.all&&navigator.userAgent.indexOf("Opera")==-1
var dom=document.getElementById&&!ie&&navigator.userAgent.indexOf("Opera")==-1

//-----------------------------------------------------------------------------
// Layer visibility.
//-----------------------------------------------------------------------------

function hideLayer(layer) {

if (isMinNS4)
layer.visibility = "hide";
if (ie||dom)
layer.style.visibility = "hidden";
}

function showLayer(layer) {

if (isMinNS4)
layer.visibility = "show";
if (ie||dom)
layer.style.visibility = "visible";
}

function inheritLayer(layer) {

if (isMinNS4)
layer.visibility = "inherit";
if (ie||dom)
layer.style.visibility = "inherit";
}

function getVisibility(layer) {

if (isMinNS4) {

if (layer.visibility == "show")
return "visible";
if (layer.visibility == "hide")
return "hidden";
return layer.visibility;
}
if (ie||dom)
return layer.style.visibility;
return "";
}

function isVisible(layer) {

if (isMinNS4 && layer.visibility == "show")
return(true);
if (ie||dom && layer.style.visibility == "visible")
return(true);

return(false);
}

//-----------------------------------------------------------------------------
// Layer positioning.
//-----------------------------------------------------------------------------



function moveLayerTo(layer, x, y) {

if (isMinNS4)
layer.moveTo(x, y);
if (ie||dom) {
layer.style.left = x;
layer.style.top = y;
}
}

function moveLayerBy(layer, dx, dy) {

if (isMinNS4)
layer.moveBy(dx, dy);
if (ie||dom) {
layer.style.left= parseInt(layer.style.left)+dx;
layer.style.top= parseInt(layer.style.top)+dy;
}
}

function getLeft(layer) {

if (isMinNS4)
return(layer.left);
if (ie||dom)
return(parseInt(layer.style.left));
return(-1);
}

function getTop(layer) {

if (isMinNS4)
return(layer.top);
if (ie||dom)
return(parseInt(layer.style.top));
return(-1);
}

function getRight(layer) {

if (isMinNS4)
return(layer.left + getWidth(layer));
if (ie||dom)
return(parseInt(layer.style.left) + getWidth(layer));
return(-1);
}

function getBottom(layer) {

if (isMinNS4)
return(layer.top + getHeight(layer));
else if (ie||dom)
return(parseInt(layer.style.top) + getHeight(layer));
return(-1);
}

function getPageLeft(layer) {

if (isMinNS4)
return(layer.pageX);
if (ie||dom)
return(layer.offsetLeft);
return(-1);
}

function getPageTop(layer) {

if (isMinNS4)
return(layer.pageY);
if (ie||dom)
return(layer.offsetTop);
return(-1);
}

function getWidth(layer) {

if (isMinNS4) {
if (layer.document.width)
return(layer.document.width);
else
return(layer.clip.right - layer.clip.left);
}
if (ie||dom) {
if (layer.style.width)
return(layer.style.width);
else
return(layer.offsetWidth);
}
return(-1);
}

function getHeight(layer) {

if (isMinNS4) {
if (layer.document.height)
return(layer.document.height);
else
return(layer.clip.bottom - layer.clip.top);
}
if (ie||dom) {
if (false && layer.style.height)
return(layer.style.height);
else
return(layer.offsetHeight);
}
return(-1);
}

function getzIndex(layer) {

if (isMinNS4)
return(layer.zIndex);
if (ie||dom)
return(layer.style.zIndex);

return(-1);
}

function setzIndex(layer, z) {

if (isMinNS4)
layer.zIndex = z;
if (ie||dom)
layer.style.zIndex = z;
}

//-----------------------------------------------------------------------------
// Layer clipping.
//-----------------------------------------------------------------------------

function clipLayer(layer, clipleft, cliptop, clipright, clipbottom) {

if (isMinNS4) {
layer.clip.left = clipleft;
layer.clip.top = cliptop;
layer.clip.right = clipright;
layer.clip.bottom = clipbottom;
}
if (ie||dom)
layer.style.clip = 'rect(' + cliptop + ' ' + clipright + ' ' + clipbottom + ' ' + clipleft +')';
}

function getClipLeft(layer) {

if (isMinNS4)
return(layer.clip.left);
if (ie||dom) {
var str = layer.style.clip;
if (!str)
return(0);
var clip = getIEClipValues(layer.style.clip);
return(clip[3]);
}
return(-1);
}

function getClipTop(layer) {

if (isMinNS4)
return(layer.clip.top);
if (ie||dom) {
var str = layer.style.clip;
if (!str)
return(0);
var clip = getIEClipValues(layer.style.clip);
return(clip[0]);
}
return(-1);
}

function getClipRight(layer) {
if (isMinNS4)
return(layer.clip.right);
if (ie||dom) {
var str = layer.style.clip;
if (!str)
return(layer.style.width);
var clip = getIEClipValues(layer.style.clip);
return(clip[1]);
}
return(-1);
}

function getClipBottom(layer) {

if (isMinNS4)
return(layer.clip.bottom);
if (ie||dom) {
var str = layer.style.clip;
if (!str)
return(layer.style.height);
var clip = getIEClipValues(layer.style.clip);
return(clip[2]);
}
return(-1);
}

function getClipWidth(layer) {
if (isMinNS4)
return(layer.clip.width);
if (ie||dom) {
var str = layer.style.clip;
if (!str)
return(layer.style.width);
var clip = getIEClipValues(layer.style.clip);
return(clip[1] - clip[3]);
}
return(-1);
}

function getClipHeight(layer) {

if (isMinNS4)
return(layer.clip.height);
if (ie||dom) {
var str = layer.style.clip;
if (!str)
return(layer.style.height);
var clip = getIEClipValues(layer.style.clip);
return(clip[2] - clip[0]);
}
return(-1);
}

function getIEClipValues(str) {

var clip = new Array();
var i;

// Parse out the clipping values for IE layers.

i = str.indexOf("(");
clip[0] = parseInt(str.substring(i + 1, str.length), 10);
i = str.indexOf(" ", i + 1);
clip[1] = parseInt(str.substring(i + 1, str.length), 10);
i = str.indexOf(" ", i + 1);
clip[2] = parseInt(str.substring(i + 1, str.length), 10);
i = str.indexOf(" ", i + 1);
clip[3] = parseInt(str.substring(i + 1, str.length), 10);
return(clip);
}

//-----------------------------------------------------------------------------
// Layer scrolling.
//-----------------------------------------------------------------------------

function scrollLayerTo(layer, x, y, bound) {

var dx = getClipLeft(layer) - x;
var dy = getClipTop(layer) - y;

scrollLayerBy(layer, -dx, -dy, bound);
}

function scrollLayerBy(layer, dx, dy, bound) {

var cl = getClipLeft(layer);
var ct = getClipTop(layer);
var cr = getClipRight(layer);
var cb = getClipBottom(layer);

if (bound) {
if (cl + dx < 0)

dx = -cl;

else if (cr + dx > getWidth(layer))
dx = getWidth(layer) - cr;
if (ct + dy < 0)

dy = -ct;

else if (cb + dy > getHeight(layer))
dy = getHeight(layer) - cb;
}

clipLayer(layer, cl + dx, ct + dy, cr + dx, cb + dy);
moveLayerBy(layer, -dx, -dy);
}

//-----------------------------------------------------------------------------
// Layer background.
//-----------------------------------------------------------------------------

function setBgColor(layer, color) {

if (isMinNS4)
layer.bgColor = color;
if (ie||dom)
layer.style.backgroundColor = color;
}

function setBgImage(layer, src) {

if (isMinNS4)
layer.background.src = src;
if (ie||dom)
layer.style.backgroundImage = "url(" + src + ")";
}

//-----------------------------------------------------------------------------
// Layer utilities.
//-----------------------------------------------------------------------------

function getLayer(name) {
if (isMinNS4)
return findLayer(name, document);
if (ie)
return eval('document.all.' + name);
if (dom)
return document.getElementById(name);
return null;
}

function findLayer(name, doc) {

var i, layer;

for (i = 0; i < doc.layers.length; i++) {
layer = doc.layers[i];
if (layer.name == name)
return layer;
if (layer.document.layers.length > 0) {
layer = findLayer(name, layer.document);
if (layer != null)
return layer;
}
}

return null;
}

//-----------------------------------------------------------------------------
// Window and page properties.
//-----------------------------------------------------------------------------

function getWindowWidth() {

if (isMinNS4||dom)
return(window.innerWidth);
if (ie)
return(document.body.clientWidth);
return(-1);
}

function getWindowHeight() {

if (isMinNS4||dom)
return(window.innerHeight);
if (ie)
return(document.body.clientHeight);
return(-1);
}

function getPageWidth() {

if (isMinNS4||dom)
return(document.width);
if (ie)
return(document.body.scrollWidth);
return(-1);
}

function getPageHeight() {

if (isMinNS4||dom)
return(document.height);
if (ie)
return(document.body.scrollHeight);
return(-1);
}

function getPageScrollX() {

if (isMinNS4||dom)
return(window.pageXOffset);
if (ie)
return(document.body.scrollLeft);
return(-1);
}

function getPageScrollY() {

if (isMinNS4||dom)
return(window.pageYOffset);
if (ie)

return(document.body.scrollTop);
return(-1);
}



dev-postnuke rules!!!!!
tany Enviar MP


tany
Enviado: 09/01/2006 a las 20:01
Habitual
Habitual


Karma: 6 (5 Votos)

Registrado: 26/08/05
Mensajes: 74

Estado: Desconectado
Ultima visita: 25/04/06
Gracias Anykiller, eres un bombón!!!! es que habia editado mal el post... continuando jeje

Los archivos js que se necesitan se llaman dhtmllib.js y scroller.js, de los cuales, solo me falto poner el codigo de scroller.js y es el siguiente
Código
  1. ******************************************************************************
  2. * scroller.js      Scroller Dinamico -                                        *
  3. * Allows you to create scrolling displays on a page. Multiple scrollers can   *
  4. * be defined, each with it's own parameters and list of items. Item text can  *
  5. * include basic HTML tags, including links and images.                        *
  6. * Note: requires dhtmllib.js.                                                 *
  7. ******************************************************************************/
  8.  
  9. //*****************************************************************************
  10. // Scroller constructor.
  11. //*****************************************************************************
  12.  
  13. function Scroller(x, y, width, height, border, padding) {
  14.  
  15.   this.x = x;
  16.   this.y = y;
  17.   this.width = width;
  18.   this.height = height;
  19.   this.border = border;
  20.   this.padding = padding;
  21.  
  22.   this.items = new Array();
  23.   this.created = false;
  24.  
  25.   // Set default colors.
  26.  
  27.   this.fgColor = "#000000";
  28.   this.bgColor = "#ffffff";
  29.   this.bdColor = "#000000";
  30.  
  31.   // Set default font.
  32.  
  33.   this.fontFace = "Arial,Helvetica";
  34.   this.fontSize = "2";
  35.  
  36.   // Set default scroll timing values.
  37.  
  38.   this.speed = 50;
  39.   this.pauseTime = 2000;
  40.  
  41.   // Define methods.
  42.  
  43.   this.setColors = scrollerSetColors;
  44.   this.setFont = scrollerSetFont;
  45.   this.setSpeed = scrollerSetSpeed;
  46.   this.setPause = scrollersetPause;
  47.   this.addItem = scrollerAddItem;
  48.   this.create = scrollerCreate;
  49.   this.show = scrollerShow;
  50.   this.hide = scrollerHide;
  51.   this.moveTo = scrollerMoveTo;
  52.   this.moveBy = scrollerMoveBy;
  53.   this.getzIndex = scrollerGetzIndex;
  54.   this.setzIndex = scrollerSetzIndex;
  55.   this.stop = scrollerStop;
  56.   this.start = scrollerStart;
  57. }
  58.  
  59. //*****************************************************************************
  60. // Scroller methods.
  61. //*****************************************************************************
  62.  
  63. function scrollerSetColors(fgcolor, bgcolor, bdcolor) {
  64.  
  65.   if (this.created) {
  66.     alert("Scroller Error: Scroller has already been created.");
  67.     return;
  68.   }
  69.   this.fgColor = fgcolor;
  70.   this.bgColor = bgcolor;
  71.   this.bdColor = bdcolor;
  72. }
  73.  
  74. function scrollerSetFont(face, size) {
  75.  
  76.   if (this.created) {
  77.     alert("Scroller Error: Scroller has already been created.");
  78.     return;
  79.   }
  80.   this.fontFace = face;
  81.   this.fontSize = size;
  82. }
  83.  
  84. function scrollerSetSpeed(pps) {
  85.  
  86.   if (this.created) {
  87.     alert("Scroller Error: Scroller has already been created.");
  88.     return;
  89.   }
  90.   this.speed = pps;
  91. }
  92.  
  93. function scrollersetPause(ms) {
  94.  
  95.   if (this.created) {
  96.     alert("Scroller Error: Scroller has already been created.");
  97.     return;
  98.   }
  99.   this.pauseTime = ms;
  100. }
  101.  
  102. function scrollerAddItem(str) {
  103.  
  104.   if (this.created) {
  105.     alert("Scroller Error: Scroller has already been created.");
  106.     return;
  107.   }
  108.   this.items[this.items.length] = str;
  109. }
  110.  
  111. function scrollerCreate() {
  112.  
  113.   var start, end;
  114.   var str;
  115.   var i, j;
  116.   var x, y;
  117.  
  118.   if (!isMinNS4 && !ie && !dom)
  119.     return;
  120.  
  121.   // On first scroller, start interval timer.
  122.  
  123.   if (scrollerList.length == 0)
  124.     setInterval('scrollerGo()', scrollerInterval);
  125.  
  126.   // Create the scroller only once.
  127.  
  128.   if (this.created) {
  129.     alert("Scroller Error: Scroller has already been created.");
  130.     return;
  131.   }
  132.   this.created = true;
  133.  
  134.   // Copy first item to the end of the list, this lets us scroll from the last
  135.   // defined item to the first without jumping.
  136.  
  137.   this.items[this.items.length] = this.items[0];
  138.  
  139.   // Set up HTML code for item text.
  140.  
  141.   start = '<table border=0'
  142.         + ' cellpadding=' + (this.padding + this.border)
  143.         + ' cellspacing=0'
  144.         + ' width=' + this.width
  145.         + ' height=' + this.height + '>'
  146.         + '<tr><td>'
  147.         + '<font'
  148.         + ' color="' + this.fgColor + '"'
  149.         + ' face="' + this.fontFace + '"'
  150.         + ' size=' + this.fontSize + '>';
  151.   end   = '</font></td></tr></table>';
  152.  
  153.   // Build the layers.
  154.  
  155.   if (isMinNS4) {
  156.     this.baseLayer = new Layer(this.width);
  157.     this.scrollLayer = new Layer(this.width, this.baseLayer);
  158.     this.scrollLayer.visibility = "inherit";
  159.     this.itemLayers = new Array();
  160.     for (i = 0; i < this.items.length; i++) {
  161.       this.itemLayers[i] = new Layer(this.width, this.scrollLayer);
  162.       this.itemLayers[i].document.open();
  163.       this.itemLayers[i].document.writeln(start + this.items[i] + end);
  164.       this.itemLayers[i].document.close();
  165.       this.itemLayers[i].visibility = "inherit";
  166.     }
  167.  
  168.     // Set background colors.
  169.  
  170.     setBgColor(this.baseLayer, this.bdColor);
  171.     setBgColor(this.scrollLayer, this.bgColor);
  172.   }
  173.  
  174.   if (ie||dom) {
  175.     i = scrollerList.length;
  176.     str = '<div id="scroller' + i + '_baseLayer"'
  177.         + ' >\n'
  178.         + '<div id="scroller' + i + '_scrollLayer"'
  179.         + ' >\n';
  180.     for (j = 0; j < this.items.length; j++) {
  181.       str += '<div id="scroller' + i + '_itemLayers' + j + '"'
  182.           +  ' >\n'
  183.           +  start + this.items[j] + end
  184.           +  '</div>\n';
  185.     }
  186.     str += '</div>\n'
  187.         +  '</div>\n';
  188.  
  189.     // Insert HTML code at end of page. For IE4, need to scroll window to
  190.     // end of page, insert and scroll back to correct bug.
  191.  
  192.     if (!(ie&&window.print)) {
  193.       x = getPageScrollX();
  194.       y = getPageScrollY();
  195.       window.scrollTo(getPageWidth(), getPageHeight());
  196.     }
  197.     if (ie)
  198.     document.all.tempholder.innerHTML=str
  199.     else if (dom)
  200.     document.getElementById("tempholder").innerHTML=str
  201. //EDIT HERE//////////////////////////////////////////////////////////////////////////////
  202.     if (!(ie&&window.print))
  203.       window.scrollTo(x, y);
  204.  
  205.     // Get handles to each layer.
  206.  
  207.     this.baseLayer = getLayer("scroller" + i + "_baseLayer");
  208.     this.scrollLayer = getLayer("scroller" + i + "_scrollLayer");
  209.     this.itemLayers = new Array();
  210.     for (j = 0; j < this.items.length; j++)
  211.       this.itemLayers[j] = getLayer("scroller" + i + "_itemLayers" + j);
  212.   }
  213.  
  214.   // Position and clip base and scroll layers.
  215.  
  216.   moveLayerTo(this.baseLayer, this.x, this.y);
  217.   clipLayer(this.baseLayer, 0, 0, this.width, this.height);
  218.   moveLayerTo(this.scrollLayer, this.border, this.border);
  219.   clipLayer(this.scrollLayer, 0, 0,
  220.             this.width - 2 * this.border, this.height - 2 * this.border);
  221.  
  222.   // Position and clip each item layer.
  223.  
  224.   x = 0;
  225.   y = 0;
  226.   for (i = 0; i < this.items.length; i++) {
  227.     moveLayerTo(this.itemLayers[i], x, y);
  228.     clipLayer(this.itemLayers[i], 0, 0, this.width, this.height);
  229.     y += this.height;
  230.   }
  231.  
  232.   // Set up scrolling parameters.
  233.  
  234.   this.stopped = false;
  235.   this.currentY = 0;
  236.   this.stepY = this.speed / (1000 / scrollerInterval);
  237.   this.stepY = Math.min(this.height, this.stepY);
  238.   this.nextY = this.height;
  239.   this.maxY = this.height * (this.items.length - 1);
  240.   this.paused = true;
  241.   this.counter = 0;
  242.  
  243.   // Add to global list.
  244.  
  245.   scrollerList[scrollerList.length] = this;
  246.  
  247.   // Display it.
  248.  
  249.   showLayer(this.baseLayer);
  250. }
  251.  
  252. function scrollerShow() {
  253.  
  254.   if (this.created)
  255.  
  256.     showLayer(this.baseLayer);
  257. }
  258.  
  259. function scrollerHide() {
  260.  
  261.   if (this.created)
  262.     hideLayer(this.baseLayer);
  263. }
  264.  
  265. function scrollerMoveTo(x, y) {
  266.  
  267.   if (this.created)
  268.     moveLayerTo(this.baseLayer, x, y);
  269. }
  270.  
  271. function scrollerMoveBy(dx, dy) {
  272.  
  273.   if (this.created)
  274.     moveLayerBy(this.baseLayer, dx, dy);
  275. }
  276.  
  277. function scrollerGetzIndex() {
  278.  
  279.   if (this.created)
  280.     return(getzIndex(this.baseLayer));
  281.   else
  282.     return(0);
  283. }
  284.  
  285. function scrollerSetzIndex(z) {
  286.  
  287.   if (this.created)
  288.     setzIndex(this.baseLayer, z);
  289. }
  290.  
  291. function scrollerStart() {
  292.  
  293.   this.stopped = false;
  294. }
  295.  
  296. function scrollerStop() {
  297.  
  298.   this.stopped = true;
  299. }
  300.  
  301. //*****************************************************************************
  302. // Code for scrolling.
  303. //*****************************************************************************
  304.  
  305. // An array is used to hold a pointer to each scroller that is defined. The
  306. // scrollerGo() function runs at regular intervals and updates each scroller
  307. // in this list.
  308.  
  309. var scrollerList     = new Array();
  310. var scrollerInterval = 20;
  311.  
  312. function scrollerGo() {
  313.  
  314.   var i;
  315.  
  316.   // Update each scroller object in the list.
  317.  
  318.   for (i = 0; i < scrollerList.length; i++) {
  319.  
  320.     // If stopped, skip.
  321.  
  322.     if (scrollerList[i].stopped);
  323.  
  324.     // If paused, update counter.
  325.  
  326.     else if (scrollerList[i].paused) {
  327.       scrollerList[i].counter += scrollerInterval;
  328.       if (scrollerList[i].counter > scrollerList[i].pauseTime)
  329.         scrollerList[i].paused = false;
  330.     }
  331.  
  332.     // Scroll it.
  333.  
  334.     else {
  335.       scrollerList[i].currentY += scrollerList[i].stepY;
  336.  
  337.       // Pause it if the next item has scrolled into view.