Foros del Web » Programando para Internet » Javascript »

problemas con funcion arriba abajo

Estas en el tema de problemas con funcion arriba abajo en el foro de Javascript en Foros del Web. Buenas muchachos, les comento que tengo una pagina donde tengo una capa la cual cargo contenido mediante ajax. esta capa tiene un alto y ancho ...
  #1 (permalink)  
Antiguo 14/05/2010, 14:46
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
problemas con funcion arriba abajo

Buenas muchachos, les comento que tengo una pagina donde tengo una capa la cual cargo contenido mediante ajax. esta capa tiene un alto y ancho predeterminados y funciona ok, el problema es que ahora el contenido de esa pagina que cargo dentro de la capa es muy largo y se me ocurrio ponerle unos botoncitos para subir y bajar pero no me funciona :/

mi ajax es :

Código Javascript:
Ver original
  1. function nuevoAjax(){
  2.     var xmlhttp=false;
  3.      try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  4.     catch (e) {
  5.          try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");    }
  6.         catch (E) { xmlhttp = false; }
  7.       }
  8.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); }
  9.     return xmlhttp;
  10. }
  11. function acciona() {
  12.     var capa = document.getElementById('detallesbody');
  13.     if (ajax.readyState==1) { capa.innerHTML = '<div align="center" style="width:100%;"><br /><br /><img src="imagenes/load.gif" border="0" alt="Cargando..." title="Cargando..."></div>'; }
  14.     else if ((ajax.readyState == 4) && (ajax.status == 200)) { capa.innerHTML =ajax.responseText; }
  15. }
  16. function capallenar(destinox) {
  17.     ajax = nuevoAjax();
  18.     ajax.onreadystatechange = acciona;
  19.     ajax.open("GET", destinox,true);
  20.     ajax.send(null);
  21. }

y lo llamo

Código HTML:
Ver original
  1. <a onclick="capallenar('detalles.php?id=<?php echo "$datos[id]";?>');" style="cursor:pointer;">Detalles Conferencista</a>
  2.  
  3. <div align="justify" id="detallesbody" style="width:500px;height:300px;">capa a llenar con detalles.php</div>


ahora en detalles.php quiero poner esto.

Código HTML:
Ver original
  1. <script language="JavaScript" type="text/javascript">
  2. scrollList=new Array();
  3. function registraScroll(idAbajo, idArriba, div, velAbajo, velArriba)
  4. {
  5.     if(scrollList[idAbajo]==null) scrollList[idAbajo]=new Array();
  6.     if(scrollList[idArriba]==null) scrollList[idArriba]=new Array();
  7.     scrollList[idAbajo].push(new Array(div, velAbajo));
  8.     scrollList[idArriba].push(new Array(div, velArriba));
  9. }
  10. window.onload=inicializar;
  11. function getEl(elementId)
  12. {
  13.     return document.getElementById(elementId);
  14. }
  15. function inicializar()
  16. {
  17.     for(key in scrollList)
  18.     {
  19.         var elemento=getEl(key);
  20.         elemento.onmouseover=iniciaScroll;
  21.         elemento.onmouseout=detieneScroll;
  22.     }
  23. }
  24. function iniciaScroll()
  25. {
  26.     scrollDivs=new Array();
  27.     velDivs=new Array();
  28.     for(key in scrollList[this.id])
  29.     {
  30.         scrollDivs.push(getEl(scrollList[this.id][key][0]));
  31.         velDivs.push(scrollList[this.id][key][1]);
  32.     }
  33.     identificadorx=setInterval('scrollNow()', 25);
  34. }
  35. function detieneScroll()
  36. {
  37.     clearInterval(identificadorx);
  38. }
  39. function scrollNow()
  40. {
  41.     for(key in scrollDivs)
  42.     {
  43.     var desplazamientoActual=scrollDivs[key].scrollTop;
  44.     var nuevoDesplazamiento=desplazamientoActual+velDivs[key];
  45.     scrollDivs[key].scrollTop=nuevoDesplazamiento;
  46.     }
  47. }
  48. <script type="text/javascript">
  49. registraScroll(
  50. 'flechaAbajo',
  51. 'flechaArriba',
  52. 'listaexpositor',
  53. 1,
  54. -1
  55. );
  56. <style type="text/css">
  57. .scroll
  58. {
  59.     width:150px; height:50px; overflow:hidden; border:2px solid #000000;
  60. }
  61. .flecha
  62. {
  63.     cursor:pointer;
  64. }
  65. <div id="listaexpositor" class="scroll">
  66.     Mucho contenido<br>Mucho contenido<br>Mucho contenido<br>Mucho contenido<br>
  67.     Mucho contenido<br>Mucho contenido<br>Mucho contenido<br>Mucho contenido<br>
  68.     Mucho contenido<br>Mucho contenido<br>Mucho contenido<br>Mucho contenido<br>
  69.     Mucho contenido<br>Mucho contenido<br>Mucho contenido<br>Mucho contenido<br>
  70. </div>
  71. <div id="flechas">
  72.     <span id="flechaArriba" class="flecha">Arriba</span>
  73.     <br>
  74.     <span id="flechaAbajo" class="flecha">Abajo</span>
  75. </div>

si lo ejecuto por separado funciona, pero dentro del ajax no me carga el javascript.
alguna idea?

Saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #2 (permalink)  
Antiguo 14/05/2010, 15:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: problemas con funcion arriba abajo

Hola

Lee este tema. Como ejecutar js que viene de ajax

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 17/05/2010, 15:49
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: problemas con funcion arriba abajo

Holas adler estuve dandole muchas vueltas al topic pero me resulta :/ no se supongo hago algo mal, pongo la funcion de maborak en mi index header... interpretadorAjax.js

luego llamo <script type='text/javascript' src="detalles.js"></script>
lo que estaba en detalles.php a detalles.js movi el javascript hay.


pongo el :

var scs=myAjax.responseText.extractScript(); //capturamos los scripts
detallesbody.innerHTML=myAjax.responseText.stripSc ript(); //eliminamos los scripts... ya son innecesarios
scs.evalScript(); //ahora si, comenzamos a interpretar todo

y pues no hace nada :/ alguna idea estoy mal en algo,

Saludos.
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 17/05/2010, 19:57
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, 10 meses
Puntos: 834
Respuesta: problemas con funcion arriba abajo

Por más que interpretes bien el código javascript no funcionará a menos que uses algo diferente a esto:
Código PHP:
 window.onload=inicializar
En lugar de eso, deberías, al final de tu código javascript, escribir simplemente esto:
Código PHP:
inicializar(); 
La razón es obvia: para cuando todo eso llega al intérprete, hace ya bastante tiempo que se produjo el evento onload. Es como si hoy dijeras "voy a trabajar todos los sábados de 2008.
  #5 (permalink)  
Antiguo 19/05/2010, 08:39
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: problemas con funcion arriba abajo

Buenas panino5001 aunque mi fuerte no es el JS entiendo lo que me dijiste pero no me va :/ y haciendo pruebas me di cuenta que el problema puede que este en las capas, puse la capa de detalles.php en la pagina principal y al cambiar algo en la capa del ajax tambien me la cambia en esta, le estuve dando vueltas pero no encuentro que puede ser cambie nombres de variables etc. pero nada :/ alguna idea.?
__________________
Gokuh Salvo al mundo. PUNTO!!!!

Etiquetas: abajo, arriba, funcion
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 13:02.