Foros del Web » Programando para Internet » Javascript »

Caso Excepcional

Estas en el tema de Caso Excepcional en el foro de Javascript en Foros del Web. Tengo el siguiente Script que es utilizado para redimensionar el tamaño de las imagenes dependiendo del tamaño de esta. Mezclando javascript con ASP Código HTML: ...
  #1 (permalink)  
Antiguo 05/05/2011, 05:16
 
Fecha de Ingreso: diciembre-2010
Ubicación: Alicante
Mensajes: 74
Antigüedad: 13 años, 4 meses
Puntos: 3
Caso Excepcional

Tengo el siguiente Script que es utilizado para redimensionar el tamaño de las imagenes dependiendo del tamaño de esta.
Mezclando javascript con ASP
Código HTML:
<script type="text/javascript" >
alert("Hola");
var ids=new Array(5);

var j;
var img;

<%
if  not rs.eof then
rs.MoveFirst
rs.PageSize=not_por_pagina
numpaginas=rs.PageCount
rs.AbsolutePage= pagina
end if

i=0
do while i<5
%>
ids[<%response.Write(i)%>]="<% response.Write(rs("foto"))%>";
<%
i=i+1
rs.MoveNext
loop
%>

for (j=0;j<ids.length;j++)
{

	img=document.getElementById(ids[j]);
	if (img.width>500)
		img.width=500;
}


</script> 

Esto funciona....Pero para la imagen http://www.luqentia.es/fotos/umhmasterg.jpg
No redimensiona cuando está supera los 500 de ancho...

Cuando pongo la etiqueta de img la pongo asi response.write "<br> <img id='"& rs("foto") &"' style='padding-left:40px' src='http://www.luqentia.es/fotos/"& rs("foto") &"'><br><br>"
Por que sucede esto? Puede ser que esa imagen no sea redimensionable....Pero realmente si yo pongo en la etiqueta directamente 500px de witdth esta si que se redimensiona.
  #2 (permalink)  
Antiguo 05/05/2011, 06:03
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Caso Excepcional

te falta entrecomillarlo
Cita:
img.width='500';
  #3 (permalink)  
Antiguo 05/05/2011, 08:43
 
Fecha de Ingreso: diciembre-2010
Ubicación: Alicante
Mensajes: 74
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: Caso Excepcional

Cita:
Iniciado por IsaBelM Ver Mensaje
te falta entrecomillarlo
Gracias por tu respuesta pero no es necesario ya que funciona en el resto con el resto de imagenes.

El fallo lo he encontrado despues de estar toda la mañana probando....
Es un fallo de tiempo de carga...
Al haber tantas imagenes en la página cuando se alcanza el script todavia no se han cargado algunas imagenes...Aunque esté este al final...Por eso todavia no sabe el script el tamaño de dicha imagen...La solucion es hacer un SetTimeOut antes de todo...
O
añadir la llamada a la funcion desde el onload antes de darle visibilidad completa a la páginna....
Codigo Final....
Código:
<script type="text/javascript" >


function Imagen()
{
var img;
<%
'NOS MOVEMOS AL PRINCIPIO Y VOLVEMOS A CALCULAR LAS NOTICIAS POR PÁGINA.
if  not rs.eof then
	rs.MoveFirst
	rs.PageSize=not_por_pagina
	numpaginas=rs.PageCount
	rs.AbsolutePage= pagina
end if

i=0
'EN CASO QUE ESTEMOS EN UNA PÁGINA ID SOLO MOSTRAMOS ESTÁ'
if not isEmpty(Request.QueryString("id")) then
%>
	var ids;
	ids="<% response.Write(rs("foto"))%>";
	img=document.getElementById(ids);
	if(img.width>500)
		img.width=500;
<%
'SI NO HEMOS LLEGADO AL FINAL DE LA BASE DE DATOS SEGUIMOS RECOGIENDO'
elseif not rs.eof then
	%>
	<!--CREAMOS EL ARRAY-->
	var ids=new Array(5);
	var j;
	<%
	do while i<5
			%>
			ids[<%response.Write(i)%>]="<% response.Write(rs("foto"))%>";
			<%
			i=i+1 
		rs.MoveNext
	loop

%>
<!--REDIMENSIONAMOS GRACIAS A ESTE FOR-->
for (j=0;j<ids.length;j++)
{
	if(ids[j]!="")
	{ 
	
	img=document.getElementById(ids[j]);
	if (img.width>500)
		img.width=500;
	}
}
<%
'EN CASO DE QUE HAYAMOS LLEGADO A UN ARTICULO QUE ES EL ULTIMO MOVEMOS AL ANTERIOR'
else
rs.MovePrevious
%>
var ids;
ids="<% response.Write(rs("foto"))%>";
img=document.getElementById(ids);
	if(img.width>500)
		img.width=500;
<%
end if 
%>
}
</script>

Etiquetas: Ninguno
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 10:37.