Foros del Web » Programando para Internet » Javascript »

Problema con función Javascript

Estas en el tema de Problema con función Javascript en el foro de Javascript en Foros del Web. Hola, estoy tratando de entender Javascript, son mis primeros pasos. Quiero hacer una funcion que pueda remover una foto mostrada en una página, sin recargar ...
  #1 (permalink)  
Antiguo 18/12/2008, 14:52
Rodre
Invitado
 
Mensajes: n/a
Puntos:
Problema con función Javascript

Hola, estoy tratando de entender Javascript, son mis primeros pasos. Quiero hacer una funcion que pueda remover una foto mostrada en una página, sin recargar la página. La idea es que en realidad se reemplaze por otra, pero bueno empiezo por esto para entender. Probé varias cosas pero no me funciona. Qué es lo que está mal ?

Código HTML:
<html>
<head>
<title>Galeria de Fotos</title>

<script language="Javascript">
function sacarfoto() {
document.getElementById('foto');
var padre = foto.parentNode;
padre.removeChild('foto');
}
</script>

</head>
<body>

<div align="center">
  <table>
    <tbody>
      <tr>
        <td onclick="sacarfoto();"><img src="fotos/left.gif"></td>
        <td onclick="sacarfoto();"><img src="fotos/right.gif"></td>
      </tr>
      <tr>
        <td><img id="foto" src="fotos/foto06.jpg"></td>
      </tr>
    </tbody>
  </table>
</div>
</body>
</html> 
  #2 (permalink)  
Antiguo 18/12/2008, 15:02
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema con función Javascript

Prueba de esta forma:

Cita:
<html>
<head>
<title>Galeria de Fotos</title>

<script language="Javascript">
function sacarfoto() {
document.getElementById('DivFoto').innerHTML='';
}
</script>

</head>
<body>

<div align="center">
<table>
<tbody>
<tr>
<td onclick="sacarfoto();"><img src="fotos/left.gif"></td>
<td onclick="sacarfoto();"><img src="fotos/right.gif"></td>
</tr>
<tr>
<td><div id="DivFoto"><img id="foto" src="fotos/foto06.jpg"></div></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.

Última edición por the_web_saint; 18/12/2008 a las 15:09
  #3 (permalink)  
Antiguo 18/12/2008, 15:15
Rodre
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con función Javascript

Perfecto, muchas gracias.

Cómo haría ahora para que en vez de sacar una foto, ponga otra.
Imagino que en el innerHTML le tengo que decir que ponga otra cosa.
  #4 (permalink)  
Antiguo 18/12/2008, 15:59
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema con función Javascript

Claro, ahí le colocas el código HTML que deseas insertar en el div.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 18/12/2008, 17:37
Rodre
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con función Javascript

Ahora me enfrento al siguiente problema. Necesito que el codigo que se escribe dentro del innetHTML pueda ser variable.
En esta sentencia:

document.getElementById('DivFoto').innerHTML='<img src="fotos/foto06.jpg">';


como hago para que el nombre de la foto sea una variable? Probé esto pero no funciona, sería concatenar parte de string fijo con la variable.
Para probar le asigno yo un valor a la variable foto.

var foto = "foto01.jpg"
document.getElementById('DivFoto').innerHTML='<img src="fotos/'+=foto+='">';
  #6 (permalink)  
Antiguo 18/12/2008, 18:28
Rodre
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con función Javascript

LLegué a esto pero no me funciona, hace solo el primer cambio y después no hace más nada. Qué puede estar pasando ?

Código HTML:
<html>
<head>
<title>Galeria de Fotos</title>

<script language="Javascript">
fotonum = 1;
function atrasfoto() {
fotonum = fotonum - 1;
if(fotonum > 1){
  var mostrarprin = '<img src="fotos/foto';
  var mostrarfin = '">';
  var mostrar = mostrarprin+=fotonum+=mostrarfin;
  document.getElementById('DivFoto').innerHTML='';
  document.getElementById('DivFoto').innerHTML=mostrar;
  }
}

function adelantefoto() {
fotonum = fotonum + 1;
if(fotonum < 6){
  var mostrarprin = '<img src="fotos/foto';
  var mostrarfin = '">';
  var mostrar = mostrarprin+=fotonum+=mostrarfin;
  document.getElementById('DivFoto').innerHTML='';
  document.getElementById('DivFoto').innerHTML=mostrar;
  }
}
</script>

</head>
<body>
<div align="center">
  <table>
    <tr>
      <td onclick="atrasfoto();"><img src="fotos/left.gif"></td>
      <td onclick="adelantefoto();"><img src="fotos/right.gif"></td>
    </tr>
  </table>
  <table>
    <tr>
      <td><div id="DivFoto"><img src="fotos/foto1.jpg"></div></td>
    </tr>
  </table>
</div>
</body>
</html> 
  #7 (permalink)  
Antiguo 19/12/2008, 09:38
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema con función Javascript

Intenta de esta forma.

Código HTML:
<html>
<head>
<title>Galeria de Fotos</title>

<script language="Javascript">
fotonum = 1;
function atrasfoto() {
fotonum = fotonum - 1;
if(fotonum > 1){
  var mostrarprin = '<img src="fotos/foto';
  var mostrarfin = '">';
  var mostrar = mostrarprin+fotonum+'.jpg'+mostrarfin;
  document.getElementById('DivFoto').innerHTML=mostrar;
  }
}

function adelantefoto() {
fotonum = fotonum + 1;
if(fotonum < 6){
  var mostrarprin = '<img src="fotos/foto';
  var mostrarfin = '">';
  var mostrar = mostrarprin+fotonum+'.jpg'+mostrarfin;
  document.getElementById('DivFoto').innerHTML=mostrar;
  }
}
</script>

</head>
<body>
<div align="center">
  <table>
    <tr>
      <td onclick="atrasfoto();"><img src="fotos/left.gif"></td>
      <td onclick="adelantefoto();"><img src="fotos/right.gif"></td>
    </tr>
  </table>
  <table>
    <tr>
      <td><div id="DivFoto"><img src="fotos/foto1.jpg"></div></td>
    </tr>
  </table>
</div>
</body>
</html> 
La razón principal era que no colocaste el tipo de imagen, la extensión.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.

Última edición por the_web_saint; 19/12/2008 a las 09:43
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 06:34.