Foros del Web » Programando para Internet » Javascript »

Problema y duda en ejecucion de scripts

Estas en el tema de Problema y duda en ejecucion de scripts en el foro de Javascript en Foros del Web. Hola a todos. Mi problema es el siguiente. Estoy intentando poner en el index demi página 3 scripts uno para el cambio de imagen otro ...
  #1 (permalink)  
Antiguo 14/02/2009, 09:11
 
Fecha de Ingreso: enero-2009
Ubicación: Alicante
Mensajes: 20
Antigüedad: 15 años, 3 meses
Puntos: 0
Problema y duda en ejecucion de scripts

Hola a todos. Mi problema es el siguiente. Estoy intentando poner en el index demi página 3 scripts uno para el cambio de imagen otro para hacer ventanas modales y otro para hacer un scroll de texto. Tengo problemas en que se ejecuten los dos ultimos y creo que es por el lugar donde he puesto que se cargen los scripts aqui teneis el codigo

<html>

<head>



window.onload = function(){Shadowbox.init();
};

</script>

<script type="text/javascript" src="scroll/archivos/scroll.js"></script>
<link rel="stylesheet" type="text/css" href="scroll/archivos/scroll.css"/>

<style type="text/css">
<!--
.gradualshine{
filter:alpha(opacity=100);
-moz-opacity:10;
}

#GALERIA {
position:absolute;
left:564px;
top:15px;
width:100;
height:153;
z-index:2;
}
#Layer1 {
position:absolute;
left:536px;
top:189px;
width:209px;
height:278px;
z-index:3;
}
-->
</style>
</head>

<body onload="escrolea()" topmargin="30" marginheight="0">


<div id="GALERIA"><a rel="shadowbox" title="Google.com" href="pagina"><img src="imagenes/menu0.gif" width="101" height="153" class="gradualshine" onMouseover="slowhigh(this)" onMouseout="slowlow(this)" ></a></div>


<div id="Layer1">
<div align="center">
<script>escribe()</script>
</div>
</div>
</body>

</html>

como veis en el head inicializo la funcion shadowbox

window.onload = function(){Shadowbox.init();};

Y en el body cargo la funcion para hacer scroll.

<body onload="escrolea()" topmargin="30" marginheight="0">

Por separado funcionan perfectamente pero juntas, en este caso asi colocadas solo me ejecuta o me carga la funcion para hacer scroll

¿porque puede ser? Gracias!
  #2 (permalink)  
Antiguo 14/02/2009, 09:20
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Problema y duda en ejecucion de scripts

El problema es que estás sobreescribiendo los onload. Una posible solución es usar algo así:
Código javascript:
Ver original
  1. window.onload = function(){funcionUno();funcionDos();funcionN();};
Es decir, asignar al evento onload una función anónima que llame a todas las que necesites. Otra solución es usar la funciónde Simón Willison:
Código javascript:
Ver original
  1. function addLoadEvent(func) {
  2.   var oldonload = window.onload;
  3.   if (typeof window.onload != 'function') {
  4.     window.onload = func;
  5.   } else {
  6.     window.onload = function() {
  7.       if (oldonload) {
  8.         oldonload();
  9.       }
  10.       func();
  11.     }
  12.   }
  13. }
Y luego:
Código javascript:
Ver original
  1. addLoadEvent(funcionUno);
  2.  addLoadEvent(funcionDos);
  3.  addLoadEvent(funcionN);
O, si la función requiere parámetros:
Código javascript:
Ver original
  1. addLoadEvent(function(){funcionUno(par1,par2,parN);});
  #3 (permalink)  
Antiguo 14/02/2009, 13:38
 
Fecha de Ingreso: enero-2009
Ubicación: Alicante
Mensajes: 20
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Problema y duda en ejecucion de scripts

MUCHAS GRACIAS PANINO!!!! Caso resuelto
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 07:59.