Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2007, 03:02
erponcios
 
Fecha de Ingreso: abril-2006
Mensajes: 218
Antigüedad: 20 años, 7 meses
Puntos: 0
funcion pasarela de imágenes.

Buenas gente...

Mirar una preguntilla

tengo la siguiente función:

Código PHP:
<script language="javascript">
window.onload = f_init;
 
var 
oDiv  = null;
var 
hInt  = null;
var 
nDir  = 0;
 
function 
f_init() {
    var 
nCoordX = 0;
    var 
nMaxH   = 0;
    var 
nlDivs  = document.getElementsByTagName("div");
    for(
i=0; i<nlDivs.length; i++) {
        var 
oDiv = nlDivs[i];
        if(
oDiv.className=="st") {
            
oDiv.onmouseover = f_mover;
            
oDiv.onmousemove = f_mmove;
            
oDiv.onmouseout  = f_mout;
            
oDiv.move        = f_move;
            for(
ii=0; ii<oDiv.childNodes.length; ii++) {
                var 
oImg = nlDivs[i].childNodes[ii];
                if(
oImg.tagName=="IMG") {
                    
oImg.style.position = "absolute";
                    
oImg.style.left     = nCoordX+"px";
                    
nCoordX += oImg.width + 5;
                    
nMaxH    = Math.max(nMaxH, oImg.height);
                }
            }
            
oDiv.scrollLeft   = 0;
            
oDiv.maxScrollW   = oDiv.scrollWidth - oDiv.offsetWidth;
            
oDiv.centerX      = (oDiv.offsetWidth / 2);
            
oDiv.style.height = nMaxH+"px";
        }
    }
}
function 
f_mover() {
    if(
hInt != null) window.clearInterval(hInt);
    
oDiv  = this;
    
hInt  = window.setInterval(f_move, 10);
}
function 
f_mmove(event) {
    if(
event == null) event = window.event;
    var 
x  = event.clientX - this.offsetLeft;
    if(
x < this.centerX && this.scrollLeft>0              ) nDir = -1;
    if(
x > this.centerX && this.scrollLeft<this.maxScrollW) nDir = +1;
}
function 
f_mout() {
    
window.clearInterval(hInt);
    
hInt = null;
    
oDiv = null;
}
function 
f_move() {
    
oDiv.scrollLeft += nDir;
}
</script> 
Esto lo que me hace es que las imágenes que tengo dentro de:

Código PHP:
<div class="st"> 
</
div> 
Me las va corriendo de un lado a otro, dependiendo de donde entre con el raton en el div. Si entro en la parte derecha, la imagen corre hacia ese lado, y viceversa.

Bien, mi pregunta es si le puedo cambiar el evento, o más bien el elemento sobre el que actua la función.

Tengo estas dos imágenes:

Código PHP:
        <td>
            <
img src="Images/produ_35.gif" alt="" name="izq" width="14" height="16" id="izq" onMouseOver="paxx=setInterval('mover(speed)',10);" onMouseOut="clearInterval(paxx);" style="cursor:pointer;"></td>
        <
td colspan="2">
            <
img src="Images/produ_36.gif" alt="" name="der" width="14" height="16" id="der" onMouseOver="paxx=setInterval('mover(-speed)',10);" onMouseOut="clearInterval(paxx);" style="cursor:pointer;"></td> 
Pues me gustaría que lo hiciera al entrar sobre ella, a la izquierda en la imagen "izq" y hacia la derecha en la imagen "der".

Eso es posible?

Muchas gracias.

Última edición por erponcios; 05/04/2007 a las 03:07