Foros del Web » Programando para Internet » Javascript »

Cambiar valor de variable

Estas en el tema de Cambiar valor de variable en el foro de Javascript en Foros del Web. Hola. Explico mi problema dentro del script. Gracias. <script> function cambiar(nfoto) { ////--> Aqui deberiamos ver el ultimo valor de la variable fotoactual antes que ...
  #1 (permalink)  
Antiguo 11/04/2013, 12:52
 
Fecha de Ingreso: diciembre-2004
Ubicación: Malaga
Mensajes: 115
Antigüedad: 19 años, 4 meses
Puntos: 0
Cambiar valor de variable

Hola.

Explico mi problema dentro del script.
Gracias.

<script>
function cambiar(nfoto)
{
////--> Aqui deberiamos ver el ultimo valor de la variable fotoactual antes que sea ocultada la capa activa
alert (fotoactual);
document.getElementById("fotoactual").style.displa y="none";

////--> Aqui solo pongo 2 pero hay unos 50 fotos y la idea es que muestre una capa que tengo bajo la foto pero cuando haga click en otra foto distinta debe ocultarse la anterior capa antes que se muestre la nueva. Por eso habia pensado en guardar al final del script el valor de "nfoto" en la variable "fotoactual" para asi, cuando se regrese al script tras hacer click en otra foto, lo primero que se haga sea ocultar la capa visible que seria por el momento la que tiene el valor de "fotoactual" hasta que tome el nuevo valor.
if (nfoto == 1 ){
document.getElementById("foto_src").src="foto-1.jpg";
document.getElementById("x1").style.display="block ";
}
else if (nfoto == 2 ){
document.getElementById("foto_src").src="foto-2.jpg";
document.getElementById("x2").style.display="block ";
}
////--> Aqui deberia de cambiarse y almacenarse el nuevo valor de nfoto dentro de la variable fotoactual y poder verlo
var fotoactual=nfoto;
alert (fotoactual);
}
</script>
  #2 (permalink)  
Antiguo 11/04/2013, 13:08
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cambiar valor de variable

yo te recomiendo que uses un array (o JSON) con las fotos, así te puedes ahorrar los 50 if else en a lo sumo un sólo if o ninguno, sirviéndote incluso para n fotos, es cuestión de optimizar con arrays

si tienes la variable nfoto, podrías usarla de ésta forma:

Código Javascript:
Ver original
  1. document.getElementById("foto_src").src="foto-" + nfoto + ".jpg";
  2. document.getElementById("x" + nfoto).style.display="block ";
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 11/04/2013, 13:23
 
Fecha de Ingreso: diciembre-2004
Ubicación: Malaga
Mensajes: 115
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Cambiar valor de variable

Cita:
Iniciado por maycolalvarez Ver Mensaje
yo te recomiendo que uses un array (o JSON) con las fotos, así te puedes ahorrar los 50 if else en a lo sumo un sólo if o ninguno, sirviéndote incluso para n fotos, es cuestión de optimizar con arrays

si tienes la variable nfoto, podrías usarla de ésta forma:

Código Javascript:
Ver original
  1. document.getElementById("foto_src").src="foto-" + nfoto + ".jpg";
  2. document.getElementById("x" + nfoto).style.display="block ";
Gracias por tu respuesta. La idea es buena para
document.getElementById("x" + nfoto).style.display="block ";
pero no tan buena para las imagenes pues los nombres aunque en el ejemplo son correlativos en realidad pueden ser nombres diferentes. En cualquier caso, el problema no es exactamente este sino el que relato en mi pregunta. Pero te agradezco esa apreciacion que puede llevar a un codigo mucho mejor.
  #4 (permalink)  
Antiguo 11/04/2013, 14:01
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cambiar valor de variable

Sin ver el html asociado y como estás llamando la función no entiendo que es lo que estás haciendo.
De no poder identificar las imágenes utilizando una secuencia numerica (foto_1, foto_2, etc), vas a tener que construir un array con dichas imágenes ó recorrer el dom para identificarlas y utilizar los indices correspondientes.
Si exponés el código, utilizá por favor el bbcode CODE ó el highlight para que no aparezcan cosas como
style.displa y="none";

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 11/04/2013, 14:31
 
Fecha de Ingreso: diciembre-2004
Ubicación: Malaga
Mensajes: 115
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Cambiar valor de variable

Cita:
Iniciado por emprear Ver Mensaje
Sin ver el html asociado y como estás llamando la función no entiendo que es lo que estás haciendo.
De no poder identificar las imágenes utilizando una secuencia numerica (foto_1, foto_2, etc), vas a tener que construir un array con dichas imágenes ó recorrer el dom para identificarlas y utilizar los indices correspondientes.
Si exponés el código, utilizá por favor el bbcode CODE ó el highlight para que no aparezcan cosas como
style.displa y="none";

Saludos
Gracias. Se trata de una galeria de fotos en las que clickando en tumbails pareceria la imagen grande en una div.
Es decir que para el tumbail 1 hacemos click en algo asi:

Código:
<a href="#" onClick="cambiar(1)"><img src="tumfoto-1.jpg" alt="Foto 1" width="140" height="105" border="0"></a>
Pongo nuevamente el codigo y la pregunta.

Código:
<script>
function cambiar(nfoto)
{

////--> Aqui deberiamos ver el ultimo valor de la variable fotoactual antes que sea ocultada la capa activa

alert (fotoactual);
document.getElementById("fotoactual").style.display="none";

////--> Aqui solo pongo 2 pero hay unos 50 fotos y la idea es que muestre una capa que tengo bajo la foto pero cuando
haga click en otra foto distinta debe ocultarse la anterior capa antes que se muestre la nueva. 
Por eso habia pensado en guardar al final del script el valor de "nfoto" en la variable "fotoactual" para asi, 
cuando se regrese al script tras hacer click en otra foto, lo primero que se haga sea ocultar la capa visible que seria 
por el momento la que tiene el valor de "fotoactual" hasta que tome el nuevo valor.

if (nfoto == 1 ){
document.getElementById("foto_src").src="foto-1.jpg";
document.getElementById("x1").style.display="block ";
}
else if (nfoto == 2 ){
document.getElementById("foto_src").src="foto-2.jpg";
document.getElementById("x2").style.display="block ";
}
////--> Aqui deberia de cambiarse y almacenarse el nuevo valor de nfoto dentro de la variable fotoactual y poder verlo

var fotoactual=nfoto;
alert (fotoactual);
}
</script>
  #6 (permalink)  
Antiguo 11/04/2013, 15:21
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cambiar valor de variable

Puesto como está tampoco dice mucho, hablás tanto de reemplazar un src como de ocultar un div, pero en ningún lugar aparecen definidos dichos elementos ni como están distribuidos y posicionados.

Fijate
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Html5</title>
  5. <style type="text/css">
  6. /*<![CDATA[*/
  7. .miniatura{
  8. cursor: pointer;
  9. width: 100px;
  10. height: 100px;
  11. }
  12. #miniaturas, #visor{
  13. float:left;
  14. }
  15. #miniaturas{
  16. margin-right: 15px;
  17. }
  18. #visor{
  19. border: solid 1px #241A17;
  20. }
  21. /*]]>*/
  22. <script type="text/javascript">
  23. //<![CDATA[
  24. function cambiar(f){
  25. document.getElementById("fotoactual").src=f.alt;
  26. document.getElementById("fotoactual").title=f.title;
  27. }
  28. //]]>
  29. </head>
  30. <div>
  31. <div id="miniaturas">
  32. <img class="miniatura" src="https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/isabelM/img/casablanca-250x350.jpg" alt="https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/isabelM/img/casablanca-500x700.jpg" onclick="cambiar(this);" title="Casablanca" /><br />
  33. <img class="miniatura"  src="https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/isabelM/img/forrest-gump-250x350.jpg" alt="https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/isabelM/img/forrest-gump-500x700.jpg" onclick="cambiar(this);" title="Forrest Gump" /><br />
  34. <img class="miniatura" src="https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/isabelM/img/lo-que-el-viento-250x350.jpg" alt="https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/isabelM/img/lo-que-el-viento-500x700.jpg" onclick="cambiar(this);" title="Lo que el viento se llevó" /><br />
  35. </div>
  36. <div id="visor">
  37. <img id="fotoactual" width="500" height="700" alt="" src="https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/img/transparente.gif"/>
  38. </div>
  39. </div>
  40. </body>
  41. </html>

Habría que mejorarlo creando el array de imágenes, agregando las miniaturas dinamicamente y haciendo un addEventListener para agregar la función cambiar a las miniaturas.

Sigo sin entender mucho la idea

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: valor, variable
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 01:55.