Estoy creando un elemento de cuenta regresiva y quiero pasar cada elemento a la función setinterval para actualizarlo cada segundo
var countDownDate = new Date($(this).data('date')).getTime(); setInterval(function() { var now = new Date().getTime(); var distance = countDownDate - now; // Time calculations for days, hours, minutes and seconds var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); $(this).find('.days').text(days); $(this).find('.hours').text(hours); $(this).find('.minutes').text(minutes); $(this).find('.seconds').text(seconds); }, 1000); });gracias de antemano
Sus preguntas no describen lo que realmente quería, pero hay algunas formas de acceder a estos elementos dentro de la función.
setInterval(() => { /* your code goes here without changes */ }, 1000) setInterval(function(days, hours, minutes, seconds) { /* your code goes here without changes */ days.text(days); hours.text(hours); minutes.text(minutes); seconds.text(seconds); }, 1000, $(this).find('.days'), $(this).find('.hours'), $(this).find('.minutes'), $(this).find('.seconds')) setInterval((function() { /* your code goes here without changes */ }).bind(this), 1000) También podrías pasar this como un argumento. Usaría la función de flecha ya que es un enfoque más moderno.