Foros del Web » Programando para Internet » Javascript »

Auto Scrollbar

Estas en el tema de Auto Scrollbar en el foro de Javascript en Foros del Web. tengo el siguiente código, el cual me crea nuevos elementos (caja de texto y dos radio button) conforme doy clic sobre el boton nuevo: @import ...
  #1 (permalink)  
Antiguo 30/08/2011, 11:46
 
Fecha de Ingreso: julio-2011
Ubicación: Jalisco
Mensajes: 44
Antigüedad: 12 años, 9 meses
Puntos: 0
Exclamación Auto Scrollbar

tengo el siguiente código, el cual me crea nuevos elementos (caja de texto y dos radio button) conforme doy clic sobre el boton nuevo:

Código HTML:
Ver original
  1. <input type="hidden" value="0" id="theValue" />
  2. <p><a href="javascript:;" onclick="addElement();"><input type="button" name="generate" value="Nuevo"></a></p>
  3.     <div id="myDiv"> </div>
  4. function addElement() {
  5.     var ni = document.getElementById('myDiv');
  6.     var newdiv = document.createElement('div');
  7.     var num = faltaNum();
  8.     var divIdName = 'numero'+num+'';
  9.     newdiv.setAttribute('id',divIdName);
  10.     newdiv.innerHTML = ''+num+' <input type="text"><input type="radio" name="rd1'+num+'"><input type="radio" name="rd1'+num+'"><a href=\'#\' onclick=\'removeElement("'+divIdName+'")\'>Eliminar elemento "'+divIdName+'"</a>';
  11.     ni.appendChild(newdiv);
  12. }
  13.  
  14. function faltaNum() {
  15.     var ni = document.getElementById('myDiv').childNodes;
  16.     var i=1
  17.     while(i<=ni.length) {
  18.        if(!existe("numero"+i)) {
  19.            return i;
  20.        }
  21.        i++;
  22.    }
  23.    return i;
  24. }
  25.  
  26. function existe(id) {
  27.    var ni = document.getElementById('myDiv').childNodes;
  28.    for(var i=0; ele=ni.item(i); i++) {
  29.        if(ele.id == id) {
  30.            return true;
  31.        }
  32.    }
  33.    return false;
  34. }
  35.  
  36. function removeElement(divNum) {
  37.    var d = document.getElementById('myDiv');
  38.    var olddiv = document.getElementById(divNum);
  39.    d.removeChild(olddiv);
  40. }
  41. </body>
  42. </html>

quisiera saber si es posible hacer un auto scrollbar, puesto que cuando creo mas alla de 50 elementos, por decir una cantidad grande, ya no los puedo ver, a no ser que yo mismo baje manualmente la scroll bar de mi navegador... lo que quiero es que al crear mas elementos, mas alla de lo que puedo ver en mi monitos, me vaya bajando la scroll conforme a los elementos creados... no se si me de a entender :P

saludos y gracias de antemano
  #2 (permalink)  
Antiguo 30/08/2011, 12:32
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Auto Scrollbar

lo primero que se me ocurre es cambiar el orden de los elementos
Cita:
<div id="myDiv"> </div>
<p><input type="button" name="generate" value="Nuevo" onclick="addElement();"></p>
pero como creo que eso no te va a satisfacer, la otra opción es darle el foco al campo
  #3 (permalink)  
Antiguo 30/08/2011, 12:49
 
Fecha de Ingreso: julio-2011
Ubicación: Jalisco
Mensajes: 44
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Auto Scrollbar

Cita:
Iniciado por IsaBelM Ver Mensaje
lo primero que se me ocurre es cambiar el orden de los elementos

pero como creo que eso no te va a satisfacer, la otra opción es darle el foco al campo
no soy usuario de los focos, pero puedo aprender... me puedes dar alguna opción ???
  #4 (permalink)  
Antiguo 30/08/2011, 12:55
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Auto Scrollbar

Cita:
Iniciado por isc_seeker Ver Mensaje
no soy usuario de los focos, pero puedo aprender... me puedes dar alguna opción ???

Cita:
newdiv.innerHTML = ''+num+' <input type="text" id="numero'+num+'">......
ni.appendChild(newdiv);
document.getElementById(divIdName).focus();

Etiquetas: auto, html, scrollbar, botones
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 22:42.