B
blankito1998
Beta
Usuário com poucas negociações! Use sempre o saldo do 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(); } }