Foros del Web » Programando para Internet » Javascript »

"Mezcla de script"

Estas en el tema de "Mezcla de script" en el foro de Javascript en Foros del Web. Holas de nuevo. A ver... tengo que pegar dos códigos para poder explicar lo que necesito. Espero disculpen el largo 1º "citas aleatorias" < script ...
  #1 (permalink)  
Antiguo 18/01/2003, 16:01
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Pregunta "Mezcla de script"

Holas de nuevo.

A ver... tengo que pegar dos códigos para poder explicar lo que necesito. Espero disculpen el largo

1º "citas aleatorias"
<script language="JavaScript1.1">
var quotes=new Array()
quotes[0]=bla bla bla <i>-Pepito Pérez</i>
quotes[1]=bla bla bla <i>-Juanito X</i>
....
quotes[26]=....
var whichquote=Math.floor(Math.random()*(quotes.length ))
document.write(quotes[whichquote])
</script>


2º "scroll vertical"
<script language="JavaScript1.2">
var marqueewidth=141
var marqueeheight=112
var speed=1
var marqueecontents='<font face="Arial"><small><center></p> texto .....xxxxx</p></center></font>'

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>


Lo que necesito es:
Un scritp que me genere frases aleatorias pero con un scroll vertical

He hecho varios intentos pero nada, no hay forma... SOY UN PALETOOOO!!!! AYUDAMEEEEE
__________________
Si lo llego a saber...!!!

Corporación Malaestética
  #2 (permalink)  
Antiguo 18/01/2003, 17:39
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
...estoy en ello
  #3 (permalink)  
Antiguo 18/01/2003, 19:37
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola ShadowII,

No me gusta lo que ha quedado, pero es tarde y las neuronas (las 2) no me dan yá para más a estas horas

Te dejo lo que ha quedado. Mañana jugaré a inventarme lo mismo pero haciendolo desde cero, pues tardo a veces más en ver lo que hace cada cosa en un script que si lo hiciera nuevo.

(si te gusta así avisa y quizás me ahorre entonces el trabajo mañana )

Código PHP:
<script language="JavaScript1.2">
var 
quotes=new Array()
quotes[0]='bla bla bla <i>-Pepito Pérez</i>'
quotes[1]='bla bla bla <i>-Juanito X</i>'
quotes[2]='....2'
quotes[3]='....3'
quotes[4]='....4'
quotes[5]='....5'
quotes[6]='....6'
quotes[7]='....7'
quotes[8]='....8'
var contenidos=''
var formato1='<p><font face="Arial"><small><center>'
var formato2='</small></center></font></p><p>&nbsp;</p>'
for (p=0;p<quotes.length-1;p++){
whichquote=Math.floor(Math.random()*(quotes.length-1))
contenidos+= formato1 quotes[whichquote] + formato2

}
var 
marqueewidth=141 
var marqueeheight=112
var speed=1
var marqueecontents='<font face="Arial"><small><center></p> texto .....xxxxx</p></center></font>'

if (document.all)
document.write('<marquee id="marq" direction="up" scrollAmount='+speed+' style="width:'+marqueewidth+';height:'+marqueeheight+'">'+contenidos+'</marquee>')

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

function 
intializemarquee(){
document.cmarquee01.document.cmarquee02.document.write(contenidos)
document.cmarquee01.document.cmarquee02.document.close()
thelength=document.cmarquee01.document.cmarquee02.document.height
scrollit
()
}

function 
scrollit(){
return 
cita()
if (
document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){
document.cmarquee01.document.cmarquee02.top-=speed
setTimeout
("scrollit()",100)
}
else{
document.cmarquee01.document.cmarquee02.top=marqueeheight
scrollit
()
}
}

window.onload=regenerate2
</script>
 
saludos
  #4 (permalink)  
Antiguo 19/01/2003, 05:47
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
De acuerdo

Holas tunait, muchas gracias.

Lo he probado y funciona pero omití un detalle importante (si es que soy un patoso!!)

Tal y cómo está, genera una frase aleatoria con el auto-scroll vertical como te pedí.
Pero claro, la idea es que la frase sea aleatoria al entrar, no permanentemente, es decir:

Entras en la pagina y por randon sale "....2" .
La idea es que, mientras estés en la pagina esta misma linea se mantenga haciendo el autoscroll, pero solo ésta hasta que haces un refresh o entras en otra ocasión.

Es más el 1º (citas aleatorias) que el 2º (scroll vertical)

Entras en la pagina y sale "cita x: no por mucho madrugar cien mil moscas acudieron" con el autoscroll y se mantiene mientras estés allí. Si vuelves a entrar o le das a "actualizar" cambia aleatoriamente y vuelve a mantenerse....
¿me explico?

Un millón de gracias :) (sólo un millón) :cantar:
__________________
Si lo llego a saber...!!!

Corporación Malaestética
  #5 (permalink)  
Antiguo 19/01/2003, 11:49
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hombre pues me das un alegrón, eso ahorra mucho lío.

A ver si te vale así
Código PHP:
<script language="JavaScript1.2">
var 
quotes=new Array()
quotes[0]='bla bla bla <i>-Pepito Pérez</i>'
quotes[1]='bla bla bla <i>-Juanito X</i>'
quotes[2]='....2'
quotes[3]='....3'
quotes[4]='....4'
quotes[5]='....5'
quotes[6]='....6'
quotes[7]='....7'
quotes[8]='....8'

var formato1='<p><font face="Arial"><small><center>'
var formato2='</small></center></font></p>'

whichquote=Math.floor(Math.random()*(quotes.length-1))
 var 
contenidos formato1 quotes[whichquote] + formato2


var marqueewidth=141 
var marqueeheight=112
var speed=1
var marqueecontents='<font face="Arial"><small><center></p> texto .....xxxxx</p></center></font>'

if (document.all)
document.write('<marquee id="marq" direction="up" scrollAmount='+speed+' style="width:'+marqueewidth+';height:'+marqueeheight+'">'+contenidos+'</marquee>')

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

function 
intializemarquee(){
document.cmarquee01.document.cmarquee02.document.write(contenidos)
document.cmarquee01.document.cmarquee02.document.close()
thelength=document.cmarquee01.document.cmarquee02.document.height
scrollit
()
}

function 
scrollit(){
return 
cita()
if (
document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){
document.cmarquee01.document.cmarquee02.top-=speed
setTimeout
("scrollit()",100)
}
else{
document.cmarquee01.document.cmarquee02.top=marqueeheight
scrollit
()
}
}

window.onload=regenerate2
</script>
 
  #6 (permalink)  
Antiguo 19/01/2003, 17:24
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Muchas gracias tunait, es justo lo que quería.

He tardado en responder por que se me fue al carajo la intranet y tengo que reinstalar el studio mx.

Nos leemos

Salud!!
__________________
Si lo llego a saber...!!!

Corporación Malaestética
  #7 (permalink)  
Antiguo 20/01/2003, 16:55
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Bueno, bueno, bueno...

Efectivamente funciona lo que me pasaste tunait, no esperaba otra cosa

Pero una vez visto, no me parece tan agradable el resultado como había esperado. Creo que quedaría mejor si la aleatoriedad fuera por día, es decir, algo así como "La frase del dia"

Podrás ayudarme una vez mas?

Gracias y Salud!!!
__________________
Si lo llego a saber...!!!

Corporación Malaestética
  #8 (permalink)  
Antiguo 20/01/2003, 16:58
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Claro

dentro del scroll igual no??


(te lo preparo mañana que a estas horas el cerebelum yá no me anda fisno )
  #9 (permalink)  
Antiguo 21/01/2003, 16:49
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Lo prometido es deuda (y más vale tarde que nunca)

Ahí va, sólo modifiqué un par de líneas:

Código PHP:
<script language="JavaScript1.2">
var 
quotes=new Array()
quotes[0]='domingo'
quotes[1]='lunes'
quotes[2]='martes'
quotes[3]='miercoles'
quotes[4]='jueves'
quotes[5]='viernes'
quotes[6]='sabadete'


var formato1='<p><font face="Arial"><small><center>'
var formato2='</small></center></font></p>'

fecha= new Date()
diafecha.getDay()
var 
contenidos formato1 quotes[dia] + formato2


var marqueewidth=141 
var marqueeheight=112
var speed=1
var marqueecontents='<font face="Arial"><small><center></p> texto .....xxxxx</p></center></font>'

if (document.all)
document.write('<marquee id="marq" direction="up" scrollAmount='+speed+' style="width:'+marqueewidth+';height:'+marqueeheight+'">'+contenidos+'</marquee>')

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

function 
intializemarquee(){
document.cmarquee01.document.cmarquee02.document.write(contenidos)
document.cmarquee01.document.cmarquee02.document.close()
thelength=document.cmarquee01.document.cmarquee02.document.height
scrollit
()
}

function 
scrollit(){
return 
cita()
if (
document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){
document.cmarquee01.document.cmarquee02.top-=speed
setTimeout
("scrollit()",100)
}
else{
document.cmarquee01.document.cmarquee02.top=marqueeheight
scrollit
()
}
}

window.onload=regenerate2
</script>
 
Recuerda que los días de la semana comienzan por 0 y en domingo, de manera que el lunes es el 1 y el domingo el 0.

Un saludo
  #10 (permalink)  
Antiguo 22/01/2003, 04:33
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
De acuerdo Que tu ayuda sea de dominio público :)

Pues eso, que tu mezcla me ha servido de mucho (o todo) y por si a alguien le viene bien dejaré por aquí como quedó el código a falta de meter las "citas" diarias.

Este es:

Código:
var quotes=new Array()
quotes[0]='1'
quotes[1]='2'
quotes[2]='3'
quotes[3]='4'
quotes[4]='5'
quotes[5]='6'
quotes[6]='7'
quotes[7]='8'
quotes[8]='9'
quotes[9]='10'
quotes[10]='11'
quotes[11]='12'
quotes[12]='13'
quotes[13]='14'
quotes[14]='15'
quotes[15]='16'
quotes[16]='17'
quotes[17]='18'
quotes[18]='19'
quotes[19]='20'
quotes[20]='21'
quotes[21]='22'
quotes[22]='Cuanto me has ayudado tunait!!!'
quotes[23]='24'
quotes[24]='25'
quotes[25]='26'
quotes[26]='27'
quotes[27]='28'
quotes[28]='29'
quotes[29]='30'
quotes[30]='31'




var formato1='<p><font face="Verdana"><small><center>'
var formato2='</small></center></font></p>'

fecha= new Date()
dia= fecha.getDate()
var contenidos = formato1 + quotes[dia] + formato2


var marqueewidth=141 
var marqueeheight=112
var speed=2
var marqueecontents='<font face="Verdana"><small><center></p> la frase del dia </p></center></font>'

if (document.all)
document.write('<marquee id="marq" direction="up" scrollAmount='+speed+' style="width:'+marqueewidth+';height:'+marqueeheight+'">'+contenidos+'</marquee>')

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

function intializemarquee(){
document.cmarquee01.document.cmarquee02.document.write(contenidos)
document.cmarquee01.document.cmarquee02.document.close()
thelength=document.cmarquee01.document.cmarquee02.document.height
scrollit()
}

function scrollit(){
return cita()
if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){
document.cmarquee01.document.cmarquee02.top-=speed
setTimeout("scrollit()",100)
}
else{
document.cmarquee01.document.cmarquee02.top=marqueeheight
scrollit()
}
}

window.onload=regenerate2
Este codigo lo pasé de un txt a un js. Lo llamé miarchivo.js. La idea es crear archivos (enero.js, febrero.js....) y de esa forma ya tengo las citas preparadas para cambiarlas cada mes.

Aun no me queda claro que sentido tiene esto: var marqueecontents='<font face="Verdana"><small><center></p> la frase del dia </p></center></font>' ya me lo aclararás tunait

Después toca la llamada desde html (la pagina propiamente dicha)

Código:
<html>
<head>
<title>Prueba</title>
</head>

<body>

<table width="298"  bordercolor="#006666" border="1" cellpadding="0" cellspacing="0">
      <tr> 
    <td width="294" height="28">&nbsp;</td>
  </tr>
  <tr> 
    <td height="202" align="center" valign="middle"> <script language="JavaScript" src="miarchivo.js"></script> </td>
  </tr>
</table>
</body>
</html>
... y funcionó, de tal manera que no me ha quedado ms remedio que ponerlo por aquí como agradecimiento a tunait. Es obvio que sin su ayuda esto.... ni de coña

Salud!!!
__________________
Si lo llego a saber...!!!

Corporación Malaestética
  #11 (permalink)  
Antiguo 22/01/2003, 05:14
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola,

Cita:
Aun no me queda claro que sentido tiene esto: var marqueecontents='<font face="Verdana"><small><center></p> la frase del dia </p></center></font>' ya me lo aclararás tunait
Uish pues tienes razón, se me quedó ahí y yá no sirve, la puedes borrar.
En el script inicial marqueecontents guardaba el valor de la frase a mostrarse, pero finalmente la frase que usa la saca del otro script combinado así que yá no sirve. La borre por favor.

Ah, me gusta la cita número 22

Un saludo, Shadow
  #12 (permalink)  
Antiguo 22/01/2003, 05:23
Avatar de ShadowII  
Fecha de Ingreso: enero-2003
Ubicación: Canarias
Mensajes: 233
Antigüedad: 21 años, 3 meses
Puntos: 1
Pero que fiera!!!

Cita:
Ah, me gusta la cita número 22
A que la pongo fija en todos los dias 22?

Venga, un abrazote
__________________
Si lo llego a saber...!!!

Corporación Malaestética
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

SíEste tema le ha gustado a 1 personas




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