B
blankito1998
Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
perfecto ahora si me funciona, muchas gracias¡Claro! Podemos verificar si hay scroll antes de ejecutar la función checkScroll. Esto se puede hacer comprobando si la altura/anchura del contenido es mayor que la visible. Aquí te dejo tu código modificado:
Hemos añadido la condición para ejecutar checkScroll sólo si hay scroll. Esto significa que si hay un desbordamiento, entonces se asigna la función al evento de scroll y se ejecuta checkScroll una vez.JavaScript:if(document.querySelector('.categorys-all')){ var div = document.getElementsByClassName('categorys-all')[0]; var checkScroll = function() { if (div.scrollLeft === 0) { document.getElementsByClassName('phom2')[0].style.display="none"; document.getElementsByClassName('phom')[0].style.display="block"; } else if (div.scrollLeft + div.clientWidth >= div.scrollWidth) { document.getElementsByClassName('phom2')[0].style.display="block"; document.getElementsByClassName('phom')[0].style.display="none"; } else { document.getElementsByClassName('phom2')[0].style.display="block"; document.getElementsByClassName('phom')[0].style.display="block"; } }; var observer = new MutationObserver(function(){ if(div.scrollHeight > div.clientHeight || div.scrollWidth > div.clientWidth) { document.getElementsByClassName('phom2')[0].style.display="block"; document.getElementsByClassName('phom')[0].style.display="block"; checkScroll(); }else{ document.getElementsByClassName('phom2')[0].style.display="none"; document.getElementsByClassName('phom')[0].style.display="none"; } }); observer.observe(div, { childList: true, attributes: true, subtree: true }); if(div.scrollHeight > div.clientHeight || div.scrollWidth > div.clientWidth) { div.onscroll = checkScroll; checkScroll(); } }