Foros del Web » Programando para Internet » Javascript »

codigo javascript siempre activo

Estas en el tema de codigo javascript siempre activo en el foro de Javascript en Foros del Web. Hola compañeros debe ser algo tonta mi pregunta pero ahi va: TENGO ESTE CODIGO Y QUIERO QUE SIEMPRE SE EJECUTE SIN NECESIDAD DE DAR CLIC ...
  #1 (permalink)  
Antiguo 12/08/2010, 06:09
Avatar de wiltoncb  
Fecha de Ingreso: abril-2010
Ubicación: villavicencio Colombia
Mensajes: 51
Antigüedad: 14 años
Puntos: 0
codigo javascript siempre activo

Hola compañeros debe ser algo tonta mi pregunta pero ahi va:

TENGO ESTE CODIGO Y QUIERO QUE SIEMPRE SE EJECUTE SIN NECESIDAD DE DAR CLIC EN UN BOTON:

Código Javascript:
Ver original
  1. <script>
  2. function irA(elemID) {
  3. var offsetTrail = document.getElementById(elemID);
  4. var offsetLeft = 0;
  5. var offsetTop = 0;
  6. while (offsetTrail) {
  7. offsetLeft += offsetTrail.offsetLeft;
  8. offsetTop += offsetTrail.offsetTop;
  9. offsetTrail = offsetTrail.offsetParent;
  10. }
  11. if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined" && navigator.appName=="Microsoft Internet Explorer" ) {
  12. offsetLeft += parseInt(document.body.leftMargin);
  13. offsetTop += parseInt(document.body.topMargin);
  14. }
  15. window.scrollTo(offsetLeft,offsetTop)
  16. }
  17. </script>
Hice este cambio pero no funciona:
Código Javascript:
Ver original
  1. <script>
  2. function() {
  3. var offsetTrail = document.getElementById('nombre_id');
  4. var offsetLeft = 0;
  5. var offsetTop = 0;
  6. while (offsetTrail) {
  7. offsetLeft += offsetTrail.offsetLeft;
  8. offsetTop += offsetTrail.offsetTop;
  9. offsetTrail = offsetTrail.offsetParent;
  10. }
  11. if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined" && navigator.appName=="Microsoft Internet Explorer" ) {
  12. offsetLeft += parseInt(document.body.leftMargin);
  13. offsetTop += parseInt(document.body.topMargin);
  14. }
  15. window.scrollTo(offsetLeft,offsetTop)
  16. }
  17. </script>
Este codigo es para anclar un div pero como hago para que ese div siempre se ancle al recargar la pagina con el anterior codigo sin necesidad de ONCLICK
  #2 (permalink)  
Antiguo 12/08/2010, 07:17
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 2 meses
Puntos: 67
Respuesta: codigo javascript siempre activo

Deja la función como estaba, solo la haz limitado colocandole un solo valor para el id del elemento en que se quiere que se ancle. Bueno, en JavaScript toda función debe ser ejecutada, por el hecho de ponerle un valor como lo que haz hecho no lo va a ejecutar. Cual es la solución? Deberías de saber que toda función definida por el usuario tiene que se ejecutada mediante un evento, sino es el evento onclick del ratón puede ser el evento onload del body, del documento o del window. Solo hace falta agregarle un código despues de la función, afuera. Todo quedaría así:

Código:
<script type="text/javascript">
function irA(elemID) {
   var offsetTrail = document.getElementById(elemID);
   var offsetLeft = 0;
   var offsetTop = 0;
 
   while (offsetTrail) {
      offsetLeft += offsetTrail.offsetLeft;
      offsetTop += offsetTrail.offsetTop;
      offsetTrail = offsetTrail.offsetParent;
   }

   if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined" && navigator.appName=="Microsoft Internet Explorer" ) {
      offsetLeft += parseInt(document.body.leftMargin);
      offsetTop += parseInt(document.body.topMargin);
   }
   window.scrollTo(offsetLeft,offsetTop);

   windows.onload = irA('nombre_id');
}
</script>
El código que he agregado ejecuta la función, ves que siempre algo o alguien debe ejecutar una función para que se ejecute? incluso los eventos mismos del navegador pueden hacerlo. Espero que te sirva.
  #3 (permalink)  
Antiguo 12/08/2010, 10:26
Avatar de wiltoncb  
Fecha de Ingreso: abril-2010
Ubicación: villavicencio Colombia
Mensajes: 51
Antigüedad: 14 años
Puntos: 0
Respuesta: codigo javascript siempre activo

GRACIAS POR LA RESPUESTA PERO CREO QUE NO ME SIRVIÓ PORQUE NO ME ENFOCA EL DIV QUE PONGO EN
windows.onload = irA('id_del_div_anclado');

Última edición por wiltoncb; 12/08/2010 a las 10:31
  #4 (permalink)  
Antiguo 12/08/2010, 10:38
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 2 meses
Puntos: 67
Respuesta: codigo javascript siempre activo

Cierto, no funciona, puse el código sin probarlo. Existen dos errores, lo correcto es esto que si lo he probado:

Código:
<script type="text/javascript">
function irA(elemID) {
   var offsetTrail = document.getElementById(elemID);
   var offsetLeft = 0;
   var offsetTop = 0;
 
   while (offsetTrail) {
      offsetLeft += offsetTrail.offsetLeft;
      offsetTop += offsetTrail.offsetTop;
      offsetTrail = offsetTrail.offsetParent;
   }

   if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined" && navigator.appName=="Microsoft Internet Explorer" ) {
      offsetLeft += parseInt(document.body.leftMargin);
      offsetTop += parseInt(document.body.topMargin);
   }
   window.scrollTo(offsetLeft,offsetTop);

   
}
window.onload = irA('nombre_id');
</script>
En primer lugar el código ese que añadí debe estar fuera de la función (como bien dije, pero no lo hice así), en segundo lugar es window no windows, con eso va a correr sin problemas. Espero que te sirva.

Última edición por ElJavista; 12/08/2010 a las 10:45
  #5 (permalink)  
Antiguo 12/08/2010, 10:39
Avatar de wiltoncb  
Fecha de Ingreso: abril-2010
Ubicación: villavicencio Colombia
Mensajes: 51
Antigüedad: 14 años
Puntos: 0
Respuesta: codigo javascript siempre activo

LISTO YA LO AREGLE PERO FUE GRACIAS A LO QUE USTED LE AGREGO
(windows.onload = irA('nombre_id');). PARA QUE FUNCIONE LE HICE ESTE CAMBIO QUEDÓ ASÍ:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. window.onload = function (){
  3.    var offsetTrail = document.getElementById('nombre_id');
  4.    var offsetLeft = 0;
  5.    var offsetTop = 0;
  6.  
  7.    while (offsetTrail) {
  8.       offsetLeft += offsetTrail.offsetLeft;
  9.       offsetTop += offsetTrail.offsetTop;
  10.       offsetTrail = offsetTrail.offsetParent;
  11.    }
  12.  
  13.    if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined" && navigator.appName=="Microsoft Internet Explorer" ) {
  14.       offsetLeft += parseInt(document.body.leftMargin);
  15.       offsetTop += parseInt(document.body.topMargin);
  16.    }
  17.    window.scrollTo(offsetLeft,offsetTop);
  18.  
  19.    
  20. }
  21. </script>
  #6 (permalink)  
Antiguo 12/08/2010, 10:46
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 2 meses
Puntos: 67
Respuesta: codigo javascript siempre activo

Es otra manera de hacerlo, pero en ese caso existe la desventaja de que esa función no podrá usarse más que para cuando cargue la página. En cambio como yo lo puse si se puede usar no solo en esa ocasión.
  #7 (permalink)  
Antiguo 12/08/2010, 12:02
Avatar de wiltoncb  
Fecha de Ingreso: abril-2010
Ubicación: villavicencio Colombia
Mensajes: 51
Antigüedad: 14 años
Puntos: 0
Respuesta: codigo javascript siempre activo

Gracias por la explicacion, pero por el momento solo necesito que se ejecute al cargar la pagina
  #8 (permalink)  
Antiguo 18/10/2010, 06:07
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: codigo javascript siempre activo

Buenas tardes,
yo estoy haciendo una cosa parecida pero dando valor a una "div".

El problema que tengo es que en Mozilla y Chrome me funciona perfectamente pero en IE no.

El código es el siguiente:

Código:
function findPos(obj){ 
     var curleft=curtop=0;
	 if(obj.offsetParent){
	   do{
	     curleft+=obj.offsetLeft;
		 curtop+=obj.offsetTop;
	   }while(obj=obj.offsetParent);
	   return [curleft,curtop]; 
     }	 
}
Como puedo hacer para que me funcione en IE también?

Un saludo y gracias.

Última edición por xinxan22; 18/10/2010 a las 06:08 Razón: Falta de texto

Etiquetas: siempre
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 15:28.