javascript - 为什么逻辑运算组合的结果值分别与它们中的每一个相矛盾?
问题描述
我的 JS 代码用于根据值显示模式窗口。
当我分别输出 , 的值时,event.pageY < 30
它们都等于但等于。为什么会这样?isMovingUp(event)
event.movementY < 0
true
event.pageY < 30 && event.movementY < 0 && isMovingUp(event)
false
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?"
}
}
}
}
解决方案
推荐阅读
- ruby-on-rails-5 - 多态关联中的查询 - Rails 5.1
- java - 更改为较新的 spring-web 后 ContextLoaderListener 的异常
- sql-server - 如何将 SQL 服务器的结果 - “新数据比较”导出到 Excel 文件?
- scala - 如何在Scala中初始化类型变量?
- javascript - 带有刻度的对数 jQuery Boostrap 滑块
- reactjs - 有没有办法强制弹出反应应用程序?
- java - Java中的优先级运算符
- c - 如何从循环中清除第一个输入以正确计算第二个输入?
- java - 带有 QueryDSL 谓词的 Spring 数据投影不起作用
- gulp - gulp src - 在任务执行时排除文件夹被复制