Cuando saco valores de event.pageY < 30 , isMovingUp(event) , event.movementY < 0 por separado, todos ellos son iguales a true pero event.pageY < 30 && event.movementY < 0 && isMovingUp(event) es igual a false . ¿Por qué es así?
const showModalBeforeOut = (event) => { const headerBlock = document.querySelector("#header"); console.log(`${event.pageY < 30}`); console.log(`${isMovingUp(event)}`); console.log(`${event.movementY < 0}`); if (event.pageY < 30 && event.movementY < 0 && isMovingUp(event)) { console.log(`logical value of expression is: ${event.pageY < 30 && isMovingUp(event) && event.movementY < 0}`); let modalTextContent = "Don't leave the site!"; let isCookieExists = checkCookie('max-age') if (!isCookieExists) { // if there is no cookie here at first display modal window and after initialize cookie with value `max-age` displayPopup(modalTextContent); document.cookie = 'max-age=15' if (document.body.contains(document.querySelector('.question-p'))) { const targetElement = document.querySelector('.question-p') targetElement.textContent = "Leaving already?" } } } }