Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

105
Views
Cómo agregar un efecto de transición o fundido de entrada a un campo agregado dinámicamente

Tengo una sección de entrada con el botón Agregar/Eliminar, que agrega campos de entrada adicionales. Estoy tratando de que el campo de entrada aparezca con un efecto de transición en lugar de aparecer instantáneamente.

Traté de usar la transition pero no ayudó. ¿Es posible hacerlo a través de CSS puro?

Código

 var i = 1; $('#add_patient').click(function() { i++; $('#tbl_patient').append('<tr id="row' + i + '" class="dynamic-added">\ <td>\ <input type="text" id="patient' + i + '" name="patient" placeholder="Patient Name" required>\ </td>\ <td>\ <button class="btn_remove" type="button" name="remove" id="' + i + '">--</button>\ </td>\ </tr>'); }); $(document).on('click', '.btn_remove', function() { var button_id = $(this).attr("id"); $('#row' + button_id + '').remove(); });
 td { transition: 0.5s ease 1s; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table id="tbl_patient"> <thead> <tr> <th colspan="2" class="uk-text-center">Patient</th> </tr> </thead> <tbody> <tr> <td> <input type="text" id="patient" name="patient" placeholder="Patient Name"> </td> <td> <button type="button" name="add_patient" id="add_patient">+</button> </td> </tr> </tbody> </table>

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

No uso jQuery, así que tuve que usar un poco de Javascript vainilla, pero esencialmente la transición se aplica a la fila de la tabla y usa la opacity de 0 a 1 para crear el efecto de aparición gradual.

 var i = 1; $('#add_patient').click(function() { i++; $('#tbl_patient').append('<tr id="row' + i + '" class="dynamic-added hidden">\ <td>\ <input type="text" id="patient' + i + '" name="patient" placeholder="Patient Name" required>\ </td>\ <td>\ <button class="btn_remove" type="button" name="remove" id="' + i + '">--</button>\ </td>\ </tr>'); setTimeout(()=>{ document.querySelector('tr.hidden:last-of-type').classList.remove('hidden'); },100); }); $(document).on('click', '.btn_remove', function() { var button_id = $(this).attr("id"); $('#row' + button_id).remove(); });
 tr{ transition:0.5s ease-in-out all; opacity:1; } .hidden{ opacity:0; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table id="tbl_patient"> <thead> <tr> <th colspan="2" class="uk-text-center">Patient</th> </tr> </thead> <tbody> <tr> <td> <input type="text" id="patient" name="patient" placeholder="Patient Name"> </td> <td> <button type="button" name="add_patient" id="add_patient">+</button> </td> </tr> </tbody> </table>

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!