BotBeta
Admin
Sigma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario popular!
Suscripción a IA
Claro, puedo hacer que el código envíe la alerta solo para el último div observado. Para ello, necesitaremos ajustar la lógica para almacenar la referencia del último div cada vez que uno se vuelve visible.$(document).ready(function() {
// Crear un nuevo observer
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
// Si el div está en vista
if (entry.isIntersecting) {
let timeout;
function alertNoScroll() {
alert("No ha habido movimiento de scroll durante 10 segundos. estas observando el div: " + $(entry.target).attr('datapro'));
}
$(window).on('scroll', function() {
// Si hay movimiento, reiniciamos el temporizador
clearTimeout(timeout);
timeout = setTimeout(alertNoScroll, 3000); // 10000 ms = 10s
});
// Inicializamos el temporizador en caso de que no haya scroll al cargar la página
timeout = setTimeout(alertNoScroll, 3000);
}
});
});
// Seleccionar todos los divs con la clase 'dat'
$('.sessim').each(function() {
observer.observe(this); // Se observa cada div
});
});
puedes hacer que solo me envie la alerta del ultimo div observado?
Aquí está el código actualizado:
### Código Ajustado
JavaScript:
$(document).ready(function() {
let timeout; // Temporizador para la inactividad del scroll
let lastObservedDiv; // Variable para almacenar el último div observado
// Crear un nuevo observer
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
// Si el div está en vista
if (entry.isIntersecting) {
lastObservedDiv = entry.target; // Guardar el último div observado
// Reiniciar el temporizador
clearTimeout(timeout);
timeout = setTimeout(() => {
if (lastObservedDiv) { // Verificar que hay un div observado
alert("No ha habido movimiento de scroll durante 3 segundos. Estás observando el div: " + $(lastObservedDiv).attr('datapro'));
}
}, 3000); // 3000 ms = 3s
}
});
});
// Seleccionar todos los divs con la clase 'sessim'
$('.sessim').each(function() {
observer.observe(this); // Se observa cada div
});
// Evento para detectar el movimiento del scroll
$(window).on('scroll', function() {
// Si hay movimiento, reiniciar el temporizador
clearTimeout(timeout);
});
});
### Cambios Realizados:
1. Variable
lastObservedDiv: Se agregó esta variable para almacenar la referencia del último div que ha sido observado. Siempre que un div se vuelva visible, se actualiza esta variable.2. Condición en el Temporizador: La alerta se envía solo si hay un div almacenado en
lastObservedDiv. Esto asegura que solo se enviará la alerta del último div visible.Con estos cambios, el código ahora enviará la alerta relacionada únicamente con el último div observado después de 3 segundos de inactividad en el scroll. Prueba este código y avísame si cumple con tus expectativas.


