Foros del Web » Programando para Internet » Javascript »

Tiene que ser muyyy facil, una ayudita por favor

Estas en el tema de Tiene que ser muyyy facil, una ayudita por favor en el foro de Javascript en Foros del Web. Buenas, lo que intento es ponerle a una tabla el ancho de una imagen, en el siguiente codigo lo que esta en negrita es donde ...
  #1 (permalink)  
Antiguo 10/02/2003, 07:17
 
Fecha de Ingreso: mayo-2002
Mensajes: 197
Antigüedad: 22 años
Puntos: 0
Tiene que ser muyyy facil, una ayudita por favor

Buenas, lo que intento es ponerle a una tabla el ancho de una imagen, en el siguiente codigo lo que esta en negrita es donde tiene que ir el ancho de la imagen, he probado de todas formas y no me funciona. Si alguien sabe como lo tengo que hacer le estaria muy agradecido que me lo dijera.

<script>
var ie=document.all;
var ns=document.layers;
var ns6=document.getElementById&&!document.all;

function enlarge(which,e,des){
if (ie||ns6){
crossobj=document.getElementById? document.getElementById("showimage") : document.all.showimage
if (crossobj.style.visibility=="hidden"){
crossobj.style.left=ns6? pageXOffset+e.clientX : document.body.scrollLeft+event.clientX
crossobj.style.top=ns6? pageYOffset+e.clientY : document.body.scrollTop+event.clientY
crossobj.innerHTML='<div style="background-color: #EDF2F8"><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000" width="'+document.getElementById("showimage").width +'"><tr><td><p align="left" id=drag><font size="2"><b id=drag>&nbsp;&nbsp;'+des+'&nbsp;</b></font></td><td><p align="right" id=drag><b onClick=closepreview()><img src="imagenes/cerrar.jpg"></b>&nbsp;</td></tr></table></div><img src="'+which+'" id=drag>'
crossobj.style.visibility="visible"
}
}
</script>


<a href="imagen.jpg" onClick="return enlarge('imagen.jpg',event,Imagen 1')">
<img border="0" src="imagenes.jpg" width="113" height="148" id="imagen">
</a>

El ancho que le quiero poner es el ancho real de la imagen, no el 113 este ultimo.

Un Saludo.
  #2 (permalink)  
Antiguo 10/02/2003, 07:32
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola choroy.

Viendo por encima me consigo conque el tag de la imagen tiene un id="imagen" mientras que para conseguir el ancho usas getElementById("showimage").

Cuando usas getElementById lo que quieres decir es "Traeme el elemento cuyo Id es igual a...".

Revisa.
  #3 (permalink)  
Antiguo 10/02/2003, 07:49
 
Fecha de Ingreso: mayo-2002
Mensajes: 197
Antigüedad: 22 años
Puntos: 0
He probado a cambiar el showimage por imagen y quitando el id="imagen" que es como estaba en el codigo original y nada.

¿Me podrias explicar que quiere decir esto?

crossobj=document.getElementById? document.getElementById("showimage") : document.all.showimage

Gracias.

PD: Si le pongo el tamaño de 100% de primeras me funciona bien, pero al arrastrar la imagen a la izquierda llega un momento que se alarga la tabla. Lo podeis comprobar aqui: http://www33.brinkster.com/jubilar/index.asp?id=galeria

Última edición por choroy; 10/02/2003 a las 12:22
  #4 (permalink)  
Antiguo 10/02/2003, 08:19
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Fíjate:

En JavaScript cuando escribes algo de la forma:

algo = pregunta? respuesta1: respuesta2;

Es equivalente a:

if (pregunta)
algo = respuesta1;
else
algo = respuesta2;

Además, getElementById es un método que funciona luego de IE-5 y de NS-6, por lo que se está preguntando:

crossobj = Si se entiende getElementById entonces getElementById(imagen) sino document.all.imagen

¿me comprendes?

Todo eso es crossobj = imagen

Saludos.
  #5 (permalink)  
Antiguo 10/02/2003, 10:17
 
Fecha de Ingreso: mayo-2002
Mensajes: 197
Antigüedad: 22 años
Puntos: 0
Entonces como cojo el ancho de la imagen?

Por mas que prueba no doy con la tecla
  #6 (permalink)  
Antiguo 10/02/2003, 12:28
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Choroy, te estaba explicando lo que me habías preguntado. No quiere decir que el comando esté malo.

Si usas eso, entonces crossobj.width es el ancho.

Saludos.
  #7 (permalink)  
Antiguo 10/02/2003, 20:44
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Choroy, no se si ya resolviste tu problema, pero ante la duda, voy a ser un poco mas directo:

Vuelvo al ejemplo inicial. Lo que está en negritas es lo que tienes que cambiar:

<script>
var ie=document.all;
var ns=document.layers;
var ns6=document.getElementById&&!document.all;

function enlarge(which,e,des){
if (ie||ns6){
crossobj=document.getElementById? document.getElementById("showimage") : document.all.showimage
if (crossobj.style.visibility=="hidden"){
crossobj.style.left=ns6? pageXOffset+e.clientX : document.body.scrollLeft+event.clientX
crossobj.style.top=ns6? pageYOffset+e.clientY : document.body.scrollTop+event.clientY
crossobj.innerHTML='<div style="background-color: #EDF2F8"><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000" width="'+document.getElementById("imagen").width +'"><tr><td><p align="left" id=drag><font size="2"><b id=drag> '+des+' </b></font></td><td><p align="right" id=drag><b onClick=closepreview()><img src="imagenes/cerrar.jpg"></b> </td></tr></table></div><img src="'+which+'" id=drag>'
crossobj.style.visibility="visible"
}
}
</script>


<a href="imagen.jpg" onClick="return enlarge('imagen.jpg',event,Imagen 1')">
<img border="0" src="imagenes.jpg" width="113" height="148" id="imagen">
</a>


Si no te funciona avisa para revisar mas detenidamente.

Saludos.
  #8 (permalink)  
Antiguo 11/02/2003, 05:41
 
Fecha de Ingreso: mayo-2002
Mensajes: 197
Antigüedad: 22 años
Puntos: 0
Muchas gracias Kaopectate por seguir ayudandome con mi problema, te comento dos cosas. La primera que asi si me funciona y me coge el ancho de la imagen, pero no el ancho real de la imagen, sino que me coge este <img border="0" src="imagenes.jpg" width="113" height="148" id="imagen">. La otra cosa es para ver como se hace cuando tengo varias imagenes, pero eso creo que si se hacerlo.

Un saludo.
  #9 (permalink)  
Antiguo 11/02/2003, 06:34
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Saludos choroy y si no te funciona avisa.
  #10 (permalink)  
Antiguo 12/02/2003, 04:42
 
Fecha de Ingreso: mayo-2002
Mensajes: 197
Antigüedad: 22 años
Puntos: 0
Hola otra vez Kaopectate, te explico, lo que necesito es como dije en el ultimo post que me diga el ancho real de la foto a su tamaño original no el ancho que yo le pongo en la pagina, ya que en esta la tengo mas pequeña que es en realidad.

Un saludo.
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 04:15.