Foros del Web » Programando para Internet » Javascript »

onmouseover y PHP

Estas en el tema de onmouseover y PHP en el foro de Javascript en Foros del Web. ¡Buenas! Necesito que al pasar el ratón por encima de una imagen, ésta cambie, pero dentro de una función en PHP. Fuera del PHP me ...
  #1 (permalink)  
Antiguo 05/02/2009, 09:40
wopy
Invitado
 
Mensajes: n/a
Puntos:
onmouseover y PHP

¡Buenas!
Necesito que al pasar el ratón por encima de una imagen, ésta cambie, pero dentro de una función en PHP. Fuera del PHP me sale correctamente, pero al meterla dentro ya no.
Llevo días dándole vueltas y no encuentro la solución, pero creo que el problema está en el uso de las comillas.

En HEAD coloco el siguiente SCRIPT:

<script type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>


Y ya en BODY lo siguiente:

<img src="fotos/<?php echo $res['imagen'] ?>.jpg" alt="<?php echo $res['nombre'] ?>" <?php
if ($res['imagen2'] != 0){
echo "onmouseover='MM_swapImage('Image1','','fotos/" . $res['imagen2'] . ".jpg',1)' onmouseout='MM_swapImgRestore()'"; }
?> />


A ver si me pudiérais ayudar a detectar mi problema. Gracias.
  #2 (permalink)  
Antiguo 05/02/2009, 11:15
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 16 años, 5 meses
Puntos: 27
Respuesta: onmouseover y PHP

si es que fueran las comillas talvez seria un problema acerca de como armas la cadena en php, no estoy seguro si la respuesta correponde a esta sección pero prueba algo como :
Código:
echo 'onmouseover="MM_swapImage(\'Image1\',\'\',\'fotos/'. $res['imagen2'] . '\'.jpg\',1)" onmouseout="MM_swapImgRestore()"';
en vez de lo que tienes para que no te queden comillas simples dentro de otras simples (onmouseover='MM_swapImage('Image..
y quede algo asi (onmouseover="MM_swapImage('Image..
  #3 (permalink)  
Antiguo 05/02/2009, 11:34
wopy
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: onmouseover y PHP

Cita:
Iniciado por refreegrata Ver Mensaje
si es que fueran las comillas talvez seria un problema acerca de como armas la cadena en php, no estoy seguro si la respuesta correponde a esta sección pero prueba algo como :
Código:
echo 'onmouseover="MM_swapImage(\'Image1\',\'\',\'fotos/'. $res['imagen2'] . '\'.jpg\',1)" onmouseout="MM_swapImgRestore()"';
en vez de lo que tienes para que no te queden comillas simples dentro de otras simples (onmouseover='MM_swapImage('Image..
y quede algo asi (onmouseover="MM_swapImage('Image..
gracias por tu respuesta, pero sigue sin funcionar
  #4 (permalink)  
Antiguo 05/02/2009, 11:40
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 16 años, 5 meses
Puntos: 27
Respuesta: onmouseover y PHP

¿A que te refires con
"pero dentro de una función en PHP. Fuera del PHP me sale correctamente, pero al meterla dentro ya no"?
  #5 (permalink)  
Antiguo 05/02/2009, 11:57
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 10 meses
Puntos: 15
Respuesta: onmouseover y PHP

Tu problema es de comillas(Este no es el foro PHP). Prueba con esto...

Código PHP:
<?php
echo ('<img src=\"fotos/'.$res['imagen'].'jpg\" alt=\"'.$res['nombre'].'\" ');
if (
$res['imagen2'] != 0){
echo (
' onmouseover=\"'.MM_swapImage.'(\'Image1\',\'\',\'fotos/'.$res['imagen2'].'.jpg\',1)\" onmouseout=\"MM_swapImgRestore()\" />');
}
?>
LISTO, Creo que así mas o menos!, Un saludo...

Última edición por SPAWN3000; 05/02/2009 a las 12:04
  #6 (permalink)  
Antiguo 05/02/2009, 12:03
wopy
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: onmouseover y PHP

Cita:
Iniciado por refreegrata Ver Mensaje
¿A que te refires con
"pero dentro de una función en PHP. Fuera del PHP me sale correctamente, pero al meterla dentro ya no"?
a que cuando pongo la opción onmouseover a la imagen, ésta se cambia. Pero cuando la meto dentro de PHP para que solo se cambie la imagen al darse esa condición es ya cuando no se efectúa el cambio.
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:32.