es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo hacer que mi scrollTo en una columna de una tabla funcione en Javascript?

Estoy tratando de hacer scroll en una columna

hacia abajo, pero no está funcionando. ¿Alguien sabe cómo lidiar con eso?

Aquí está mi código sencillo:

<table>
<tbody>
<tr>
<td id='Trigger_td'>
algúntexto
</td>
<td id='My_td' style='overflow:scroll;display:block;height:50vh'>
algúntexto
</td>
</tr>
</tbody>
</table>

Y en mi archivo .js:

$("#Trigger_td").on("click",function(){
//Otras cosas que llenan "#My_td" con contenido que lo hace desbordar
$("#My_td").get(0).scrollTo(0,$("#My_td").get(0).scrollHeight);
});

Espero haber dado toda la información importante sobre esto (es la primera vez que escribo preguntas aquí). Supuse que era porque cuando se activa el click, My_td aún no está “listo” para hacer scroll. Intenté hacer un setTimeout, pero no funcionó.

MUCHAS GRACIAS

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que tu código debería funcionar como se espera. Sin embargo, es posible que desees asegurarte de que el contenido dentro del elemento #My_td esté realmente desbordando y causando que aparezca una barra de desplazamiento. De lo contrario, no habrá nada hacia donde desplazarse.

    Además, podrías intentar usar la función $(document).ready(function(){}) para asegurarte de que el código dentro de ella se ejecute solo una vez que el DOM esté completamente cargado y listo para la manipulación. Aquí hay un ejemplo:

    $(document).ready(function(){
      $("#Trigger_td").on("click", function(){
        // Otros elementos que llenan "#My_td" con contenido que lo hace desbordar
        $("#My_td").get(0).scrollTo(0, $("#My_td").get(0).scrollHeight);
      });
    });
    

    ¡Esperamos que esto ayude a resolver el problema!

Comments are closed.