Foros del Web » Programando para Internet » Javascript »

modificar codigo scroll

Estas en el tema de modificar codigo scroll en el foro de Javascript en Foros del Web. Hola, tengo este codigo que lo que me es un scroll automa de la informacion que le pongo: <script language="JavaScript1.2"> // ancho var marqueewidth=130 // ...
  #1 (permalink)  
Antiguo 26/11/2004, 06:26
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
modificar codigo scroll

Hola,
tengo este codigo que lo que me es un scroll automa de la informacion que le pongo:

<script language="JavaScript1.2">

// ancho
var marqueewidth=130
// alto
var marqueeheight=400
// velocidad
var speed=1
// contenido
var marqueecontents='Aqui lo que se quiera'

if (document.all)
document.write('<marquee direction="up" scrollAmount='+speed+' style="width:'+marqueewidth+';height:'+marqueeheig ht+'">'+marqueecontents+'</marquee>')

function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers){
setTimeout("window.onresize=regenerate",450)
intializemarquee()
}
}

function intializemarquee(){
document.cmarquee01.document.cmarquee02.document.w rite(marqueecontents)
document.cmarquee01.document.cmarquee02.document.c lose()
thelength=document.cmarquee01.document.cmarquee02. document.height
scrollit()
}

function scrollit(){
if (document.cmarquee01.document.cmarquee02.top>=thel ength*(-1)){
document.cmarquee01.document.cmarquee02.top-=speed
setTimeout("scrollit()",100)
}
else{
document.cmarquee01.document.cmarquee02.top=marque eheight
scrollit()
}
}

window.onload=regenerate2
</script>

Alguien podria decirme que linea debo modificar para que en ningun momento me salga la zona sin nada, es decir que encuanto termine de verse todas las lineas vuelva a verse la primera linea justo detras de la ultima.
No se si me explique bien.

Gracias por la ayuda.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #2 (permalink)  
Antiguo 29/11/2004, 03:36
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Venga gente, nadie me puede echar una mano con esto?¿?.

Gracias!.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #3 (permalink)  
Antiguo 29/11/2004, 10:09
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Hola elangelcaido :

En lo que respecta a IE te puedo dar una mano : no es posible.

La etiqueta MARQUEE recomienza sólo cuando el contenido desaparece totalmente por el otro lado. Así funciona.

Busca alguno que desplace el contenido de un DIV o algo parecido (las javascripterías estan llenas de ellos).

saludos

furoya
  #4 (permalink)  
Antiguo 29/11/2004, 13:38
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Pues gracias, al menos ya me has sacado de alguna duda.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #5 (permalink)  
Antiguo 30/11/2004, 05:01
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Busqueda

Pues la javascripterias no deben estar tan llenas, porque uno que haga eso que me cuentas no encuentro.
Podrias indicarme donde encontrar uno?

Gracias.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #6 (permalink)  
Antiguo 01/12/2004, 12:04
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Algo de razon tienes.

Puede que yo me haya quedado en la epoca de la guerra entre MSIE y Netscape, cuando abundaban los codigos para hacer marquesina en el Netscape. Busque y no encontre mucho.

http://www.dynamicdrive.com/dynamicindex2/crosstick.htm

http://www.zestcity.com/e-biz/e-biz-...esentation.htm

http://www.dyn-web.com/dhtml/pause-scr/

http://www.news-scroller.com/slide.html

Ycomo me senti culpable te escribi uno. No esta muy prolijo y no se si es lo que te sirve, pero es lo mas que me vas a sacar.

Código:
 

<HTML><HEAD>
<script>
var miTexto="";
var ancho;
var desp=1;
function inicio(){
miTexto=document.getElementById("texto").innerHTML;
document.getElementById("copia").innerHTML=miTexto;
ancho=document.getElementById("texto").offsetWidth;
setTimeout("mover1()", 100);
}

function mover1(){
document.getElementById("linea").style.left="-"+desp+"px";
desp+=1;
if(desp==ancho){
document.getElementById("linea").style.left="0px";
desp=0
}
window.status=desp+" "+ancho;
setTimeout("mover2()", 1);
}

function mover2(){
setTimeout("mover1()", 1);
}

</script>
<style>
#cont{width:50%; he ight=50px; overflow:hidden; border:3px solid blue}
#linea{margin:10px; position:relative}

</style>
</HEAD>
<BODY onload="inicio()">

<div id=cont>
<h1 id=linea><nobr><span id=texto>
ESTE ES UN TEXTO LARGO QUE SIRVE DE MUESTRA PARA LA MARQUESINA TRUCHA QUE NO DEJA ESPACIO ENTRE 

CONTENIDOS. --- </span><span id="copia"> </span></nobr></h1>
</div>

</BODY></HTML>
saludos

furoya
  #7 (permalink)  
Antiguo 09/12/2004, 05:20
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Meca meca !!, era justo lo que buscaba, oye ese mismo codigo que me hiciste me lo podrías modificar para que en lugar de ir de derecha a izquierda vaya de arriba a abajo? please!!

Gracias de todas formas!
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #8 (permalink)  
Antiguo 12/12/2004, 08:58
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Sí, bueno, la verdad es que en el apuro me olvidé algo importante en el código anterior. Lo iba a corregir allí, pero como además había mirado el ejemplo muy por encima, no entendí que el desplazamiento era vertical; tampoco vi que hay una adaptación para NS, y que tiene layers. De ésto te comentaba más arriba : Netscape dejó de usar los layers en las últimas versiones, por lo que imagino que el código es viejo. Pero si está simulando una MARQUEE, seguro que en NS también deja espacio.

Lo que me olvidé fue cómo detenerlo si hay enlaces o botones. Nadie se va a poner a perseguir con el puntero al contenido para hacer un clic. Hay que pararlo.
Y lo hice en un ejemplo nuevo.

(donde dice "...vaya de arriba a abajo..." habrás querido decir "...vaya de abajo a arriba..." )

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><title>PARA IE / FF.</title>
<script>
var miTexto="";
var alto , detener;
var desp=0;
var paso=3; //px
var velocidad=30; //ms

function inicio(){
miTexto=document.getElementById("texto").innerHTML;
document.getElementById("copia").innerHTML=miTexto;
alto=document.getElementById("texto").offsetHeight;
setTimeout("mover1()", 1500);
}

function mover1(){
document.getElementById("linea").style.top="-"+desp+"px";
desp+=paso;
if(desp>=alto){
document.getElementById("linea").style.top="0px";
desp=0
}
//window.status=desp+" "+alto;
mover2();
}

function mover2(){
detener=setTimeout("mover1()", velocidad);
}

</script>
<style>
html , body{height:100%; margin:0; }
#cont{position:absolute; top:0; left:0; width:250px; height:100%; overflow:hidden; }
#linea{position:relative; text-align:center; border:3px solid blue; }
#texto , #copia{font:bold 24px/36px verdana}
.pagina{padding: 15px 10px 15px 260px;}
</style>
</HEAD>
<BODY onload="inicio()">

<div id="cont">
<div id="linea">
<span id="texto">
ESTE ES UN TEXTO LARGO QUE SIRVE DE MUESTRA PARA LA MARQUESINA TRUCHA QUE NO DEJA ESPACIO ENTRE CONTENIDOS. <br>
El interlineado está aumentado y hay ejemplos de imagen <br>
<img height="100" src="http://www.forosdelweb.com/images/smilies/smile.gif"><br>
y enlaces <br> <a href="http://www.forosdelweb.com" onmouseover="clearTimeout(detener)" onmouseout="mover2()">foros del 

web</a><br>
que se pueden detener con <i>mouseover</i>.
<br>------</span><br><span id="copia"> </span>
</div>
</div>


<div class="pagina">
AQUÍ TODA LA P&Aacute;GINA.
</div>
</BODY></HTML>
saludos

furoya

Última edición por furoya; 05/09/2005 a las 10:53
  #9 (permalink)  
Antiguo 13/12/2004, 14:05
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Buuuff !!, muchisimas gracias !! era justo como lo queria !!
Me has ayudado mucho!!
Eres un acha !!
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #10 (permalink)  
Antiguo 07/02/2008, 13:13
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Re: modificar codigo scroll

Aunque un poco tarde : de nada elangelcaido, me alegra que te haya servido.

Como en este tema se habló de la "guerra de códigos" entre Internet Explorer y Netscape, quiero mencionar un gesto de grandeza del heredero de Ns, Firefox, que incorporó la etiqueta marquee al menos desde la versión 2.0 .
Algunos valores o propiedades ( como slide o loop ) no funcionan, pero eso no le quita mérito.

Por supuesto, tampoco muestra el contenido "sinfín", por eso el código que hay acá arriba sigue siendo útil. Además, es muy fácil agregarle loop y slide.


Marquee: Stop and play
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:42.