Foros del Web » Programando para Internet » Javascript »

Un problemita con mi js ^^

Estas en el tema de Un problemita con mi js ^^ en el foro de Javascript en Foros del Web. Buenas, cm les va? soy nuevo en esto de js así q no se burlen plz jejeje ;)... el tema es el siguiente: Tengo un ...
  #1 (permalink)  
Antiguo 29/04/2009, 20:15
Avatar de TwiScript  
Fecha de Ingreso: abril-2009
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta Un problemita con mi js ^^

Buenas, cm les va?
soy nuevo en esto de js así q no se burlen plz jejeje ;)...
el tema es el siguiente:

Tengo un script en el cual una variable vale "D" (osea var letra="D") y quiero hacer q dicha variable no tenga un valor único asignado ( "D") sino q tire al azar otros valores q serán las letras q seran "D","E", "L", "A" e"Y".

Mi script es el sig pero no me funciona...q hago mal?:

var letras=new Array(5);
var [0]="D";
var [1]="E";
var [2]="L";
var [3]="A";
var [4]="Y";
for(i=0,i<5,i++){
var nieve_letra=letras[Math.random(i)]
}

Espero se entienda lo q quiero y un millón de gracias si me dicen en q me equivoco :).

Desde ya muchas gracias,
Atte Santy .
  #2 (permalink)  
Antiguo 29/04/2009, 20:28
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años, 2 meses
Puntos: 75
Respuesta: Un problemita con mi js ^^

emm jeje me burlo, men haces algo asi mejor:

var letras=new Array(5);
letras [0]="D";
letras [1]="E";
letras [2]="L";
letras [3]="A";
letras [4]="Y";
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 29/04/2009, 21:03
Avatar de TwiScript  
Fecha de Ingreso: abril-2009
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Un problemita con mi js ^^

Cita:
Iniciado por lobo_php Ver Mensaje
emm jeje me burlo, men haces algo asi mejor:

var letras=new Array(5);
letras [0]="D";
letras [1]="E";
letras [2]="L";
letras [3]="A";
letras [4]="Y";
Q maldad q te burles de mí jejeje ^^...
Bueno ya probé y no me funciona tampoco así cm tú dices :S, DAMNS maldito script te odio jejeje :-p.

Plz, alguna otra solución?...son los mejores no sean humildes jejeje ;).

Grax x todo lobo :)...
  #4 (permalink)  
Antiguo 29/04/2009, 21:11
Avatar de felipetibata  
Fecha de Ingreso: julio-2007
Ubicación: Bogotá
Mensajes: 86
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Un problemita con mi js ^^

Cita:
Iniciado por TwiScript Ver Mensaje
Q maldad q te burles de mí jejeje ^^...
Bueno ya probé y no me funciona tampoco así cm tú dices :S, DAMNS maldito script te odio jejeje :-p.

Plz, alguna otra solución?...son los mejores no sean humildes jejeje ;).

Grax x todo lobo :)...
intente con esto
var letras=new Array("D","E","L","A","Y");
__________________
www.luisfelipetibata.com
  #5 (permalink)  
Antiguo 29/04/2009, 22:15
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Un problemita con mi js ^^

Probá con esto:

Código JavaScript:
Ver original
  1. var letras = ["D","E","L","A","Y"];
  2.  
  3. function aleatorio(inferior,superior){
  4.   numPosibilidades = superior - inferior
  5.   aleat = Math.random() * numPosibilidades
  6.   return Math.round(parseInt(inferior) + aleat)
  7. }
  8.  
  9. function calcula_aleatorio_formulario(){
  10.   resultado = aleatorio(0, 5)
  11.   document.getElementById("text1").value = letras[resultado]
  12. }

<input type="button" value="calcular aleatorio" onclick="calcula_aleatorio_formulario()">

<input type="text" id="text1" size="5" maxlength="5">
  #6 (permalink)  
Antiguo 29/04/2009, 22:26
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 2 meses
Puntos: 122
Respuesta: Un problemita con mi js ^^

hummm... no le veo el caso a pasar dos parámetros si después de todo los vas a poner diréctamente en el código. No sería más facil simplemente tomar la longitud del array? Bueno, es solo una sugerencia, de cualquier modo el código parece ser lo que el chico necesita.
__________________
twitter: @imbuzu
  #7 (permalink)  
Antiguo 29/04/2009, 22:34
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Un problemita con mi js ^^

Cita:
Iniciado por buzu Ver Mensaje
hummm... no le veo el caso a pasar dos parámetros si después de todo los vas a poner diréctamente en el código. No sería más facil simplemente tomar la longitud del array? Bueno, es solo una sugerencia, de cualquier modo el código parece ser lo que el chico necesita.
Le puse eso porque el quiere que salgan aleatoriamente, entonces genero un número entero aleatorio con la cantidad de elementos del array y la presento.
Creo que no va a tener problemas con eso...
  #8 (permalink)  
Antiguo 29/04/2009, 22:43
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 2 meses
Puntos: 122
Respuesta: Un problemita con mi js ^^

Si, entiendo eso, pero me refiero a que sería mejor simplemente hacer:

Código javascript:
Ver original
  1. var letras = ["D","E","L","A","Y"];
  2.  
  3. function aleatorio(){
  4.   aleat = parseInt(Math.random() * letras.lenght)
  5.   return aleat;
  6. }
  7.  
  8. function calcula_aleatorio_formulario(){
  9.   resultado = aleatorio()
  10.   document.getElementById("text1").value = letras[resultado]
  11. }

Seguro que con tu código no hay problemas, pero siento que estás haciendo cosas que realmente no necesitas.

Saludos.
__________________
twitter: @imbuzu
  #9 (permalink)  
Antiguo 29/04/2009, 22:47
 
Fecha de Ingreso: abril-2009
Mensajes: 56
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Un problemita con mi js ^^

Ahhh si tenes razón... economizar código siempre es bueno XD
No me habia dado cuenta :S
  #10 (permalink)  
Antiguo 29/04/2009, 22:49
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 2 meses
Puntos: 122
Respuesta: Un problemita con mi js ^^

eso pasa. Entre más viejo te haces en esto, pones más atención a esos detalles. Ahora solo falta esperar que sea lo que el chico necesita.
__________________
twitter: @imbuzu
  #11 (permalink)  
Antiguo 30/04/2009, 06:34
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años, 2 meses
Puntos: 75
Respuesta: Un problemita con mi js ^^

ups creo que no vi el espaciesote que deje entre letras y [X]

xD
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #12 (permalink)  
Antiguo 30/04/2009, 14:07
Avatar de TwiScript  
Fecha de Ingreso: abril-2009
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Un problemita con mi js ^^

Cita:
Iniciado por felipetibata Ver Mensaje
intente con esto
var letras=new Array("D","E","L","A","Y");
Buenas, ya lo he intentado y sigue sin funcionar damns -.-'...gracias = felipetibata .

Ah y los script q me pasaron gammassp y buzu están impresionantes!, se nota q saben montones de esto!, pero creo q dichs scripts estan + orientados para formularios...al menos no sé cm aplicarlos a mi kso :S.

Sry la culpa es mía x no explikrles bien lo q quiero hacer...bueno el tema es así tengo un script de bonitas letras q caen emulando nieve pero en realidad son letras "D". Dicho script ya está funcionando en la página web q stoy construyendo. Les paso la dire así ven de q se trata: clandelay.tk (no puedo poner links -.-'').

Y aquí está el script q le estoy aplicando:

Código:
// JavaScript Document

// Numero de copos, recomendados entre 30 y 40
var nieve_cantidad=35

// Colores de los copos se mostraran de forma aleatoria
var nieve_colorr=new Array("#aaaacc","#ddddFF","#ccccDD")

// Tipo de letra de los copos
var nieve_tipo=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS")

// Valor o letra de los copos
var nieve_letra="D"

// velocidad de caida
var nieve_velocidad=0.6

// tamaño mas grande de los copos
var nieve_cantidadsize=30

// tamaño mas pequeño de los copos
var nieve_chico=8

// 1 toda la pagina - 2 zona izquierda - 3 centro de pagina - 4 zona derecha
var nieve_zona=1

var nieve=new Array()
var marginbottom
var marginright
var timer
var i_nieve=0
var x_mv=new Array();
var crds=new Array();
var lftrght=new Array();
var browserinfos=navigator.userAgent 
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/)
var ns6=document.getElementById&&!document.all
var opera=browserinfos.match(/Opera/) 
var browserok=ie5||ns6||opera

function aleatorio(range) { 
rand=Math.floor(range*Math.random())
return rand
}

function initnieve() {
if (ie5 || opera) {
marginbottom = document.body.clientHeight
marginright = document.body.clientWidth
}
else if (ns6) {
marginbottom = window.innerHeight
marginright = window.innerWidth
}
var nievesizerange=nieve_cantidadsize-nieve_chico
for (i=0;i<=nieve_cantidad;i++) {
crds[i] = 0; 
lftrght[i] = Math.random()*15; 
x_mv[i] = 0.03 + Math.random()/10;
nieve[i]=document.getElementById("s"+i)
nieve[i].style.fontFamily=nieve_tipo[aleatorio(nieve_tipo.length)]
nieve[i].size=aleatorio(nievesizerange)+nieve_chico
nieve[i].style.fontSize=nieve[i].size
nieve[i].style.color=nieve_colorr[aleatorio(nieve_colorr.length)]
nieve[i].sink=nieve_velocidad*nieve[i].size/5
if (nieve_zona==1) {nieve[i].posx=aleatorio(marginright-nieve[i].size)}
if (nieve_zona==2) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)}
if (nieve_zona==3) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/4}
if (nieve_zona==4) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/2}
nieve[i].posy=aleatorio(2*marginbottom-marginbottom-2*nieve[i].size)
nieve[i].style.left=nieve[i].posx
nieve[i].style.top=nieve[i].posy
}
movenieve()
}

function movenieve() {
for (i=0;i<=nieve_cantidad;i++) {
crds[i] += x_mv[i];
nieve[i].posy+=nieve[i].sink
nieve[i].style.left=nieve[i].posx+lftrght[i]*Math.sin(crds[i]);
nieve[i].style.top=nieve[i].posy

if (nieve[i].posy>=marginbottom-2*nieve[i].size || parseInt(nieve[i].style.left)>(marginright-3*lftrght[i])){
if (nieve_zona==1) {nieve[i].posx=aleatorio(marginright-nieve[i].size)}
if (nieve_zona==2) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)}
if (nieve_zona==3) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/4}
if (nieve_zona==4) {nieve[i].posx=aleatorio(marginright/2-nieve[i].size)+marginright/2}
nieve[i].posy=0
}
}
var timer=setTimeout("movenieve()",50)
}

for (i=0;i<=nieve_cantidad;i++) {
document.write("<span id='s"+i+"' style='position:absolute;top:-"+nieve_cantidadsize+"'>"+nieve_letra+"</span>")
}
if (browserok) {
window.onload=initnieve
}
La idea es q el texto resaltado en rojo no tire como valor "estático" de la var la letra "D" sino q tire al azar o en orden la "D" , la "E" la "L" la "A" y la "Y".

Muchas gracias a todoss y perdón x no haber explikdo bien para q qría en el script...
ah y si vuestros codigos buzu y gammasp pueden ser aplicados xa lograr esto, podrían decirme como aplikrlos bien?...porfis,
muchisimas gracias, enserio, de !.
No estaba equivocado son los mejores ...
  #13 (permalink)  
Antiguo 30/04/2009, 14:48
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 2 meses
Puntos: 122
Respuesta: Un problemita con mi js ^^

Código javascript:
Ver original
  1. var letras = ["D","E","L","A","Y"];
  2.  
  3. function aleatorio(){
  4.   aleat = parseInt(Math.random() * letras.lenght)
  5.   return aleat;
  6. }
  7.  
  8. // Valor o letra de los copos
  9. aleat = aleatorio();
  10. var nieve_letra= letras[aleat];

Pon eso en donde tienes el texto en rojo. Realmente hubiera preferido que fueras capaz de adaptarlo tu mismo. Tener la creatividad para hacerlo. No es cuestión de conocimiento, es cuestión de ver lo que el código está haciendo y ser creativo para poder adaptar el código a tus necesidades.

Ahora, yo personalmente re recomiendo que no uses ese tipo de "efectos" baratos por que son molestos al usuario.

Saludos.
__________________
twitter: @imbuzu
  #14 (permalink)  
Antiguo 30/04/2009, 16:16
Avatar de TwiScript  
Fecha de Ingreso: abril-2009
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Un problemita con mi js ^^

Cita:
Iniciado por buzu Ver Mensaje
Pon eso en donde tienes el texto en rojo. Realmente hubiera preferido que fueras capaz de adaptarlo tu mismo. Tener la creatividad para hacerlo. No es cuestión de conocimiento, es cuestión de ver lo que el código está haciendo y ser creativo para poder adaptar el código a tus necesidades.

Ahora, yo personalmente re recomiendo que no uses ese tipo de "efectos" baratos por que son molestos al usuario.

Saludos.
Buenas, jajaja me quiero matarrr ahora con la adaptación en vez de letras "D" cae la frase "undefined" jajajaja XD. Es muy gracioso de ver jejeje ^^.
Bueno me rindo me ganó...no se preocupen lo dejo con la "D" no vale la pena gastar + tiempo en este "script barato" ^^. Por otra parte me sirvió xa empaparme un poco + con javascript que en el curso de php y mysql q hice estaba bastant flojo como ya se habrán dado cuenta XD.

Buzu muchisimas gracias, y perdón por no darme cuenta de como adaptar tu script lo mismo xa tí gammassp, en cuanto al uso del "script bizarro" tienes toda la razón le quita "funcionalidad" a la página y suelen molestar lo q pasa es que en este caso la página no requiere mucho texto y este tiene poca importancia. Lo importante para esta web es más bien la parte "gráfica" por así decirlo. Aunq = puede que luego lo quite es sólo xa el "estreno" de la page jejeje ;).

En fin voy a andar por aquí viendo que más puedo aprender ...
son unos monstruos muchachos sépanlo .
Muchasss gracias a todosss,

Saludos Atte Santy
  #15 (permalink)  
Antiguo 30/04/2009, 16:27
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 2 meses
Puntos: 122
Respuesta: Un problemita con mi js ^^

jajaja.. me hubiera gustado ver lo de indefinido. Seguramente hay un errosillo en el código, pero igual creo que lo mejor sería que le buscaras tu la solución. Yo puedo hacerlo, pero no creo que sea la mejor forma de ayudarte. Es decir, dándote todo sin darte chance a que trates de resolverlo tu mismo. Bueno Saludos.
__________________
twitter: @imbuzu
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 21:51.