javascript - "if"语句参数未按预期运行。 JavaScript

标签 javascript html css if-statement

下面的 JavaScript “if” 语句没有读取参数,因为我打算读取两个参数。当我使用使用间隔运行 bulletOneLeft++; 的函数拍摄 bulletOne 时,bulletOne 的左侧 CSS 属性按预期在每个间隔增加 1 .但是,当我编写以下 if 语句来检测 bulletOne 的 CSS style.left 属性并将其与名为“<”的元素的 CSS style.left 属性进行比较时strong>目标框";代码无法识别这两个元素的 CSS style.left 属性的区别。我的问题是,一旦 bulletOne 的 CSS style.left 属性在数值上大于 targetBox 的 CSS style.left 属性,我如何才能使这个 if 语句执行?

if (bulletOneLeft > targetLeftProp){
document.getElementById("targetBox").style.opacity = "0";   
};

bulletOneLefttargetLeftProp的两个参数用下面的代码说明;

bulletOneLeft;

#bulletOne {
position: absolute;
background-color: white;
height: 1px;
width: 6px;
top: 0px;
left: 0px;
}
bulletOne.style.left = bulletOneLeft;

targetLeftProp;

#targetBox{
position: absolute;
background-color: green;
height: 20px;
width: 20px;
top: 30px;
left: 310px;
opacity: 1;
}
var targetLeftProp = window.getComputedStyle(CSSelement, 
null).getPropertyValue("left");

之前的失败尝试; 我尝试了很多不同的代码组合,以下是我第一次失败的尝试。以下代码在当时看来是最符合逻辑的;

var bulletLeft = document.getElementById("bulletOne").style.left;
var targetLeft = document.getElementById("targetBox").style.left;

if (bulletOneLeft > targetLeft){
   document.getElementById("targetBox").style.opacity = "0";   
};

最佳答案

所以首先你打错了,这就是为什么它在你失败的尝试中不起作用。

您的变量名为 bulletOne 但您使用 bulletOneLeft 执行 if 语句。

还有:

style.left;

返回一个字符串,所以你必须使用 parseFloat 函数或 parseInt 如果你确定它总是一个 int ( https://www.w3schools.com/jsref/jsref_parsefloat.asp , https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/parseInt ) 如下:

var bulletOne = parseFloat(document.getElementById("bulletOne").style.left;

我相信你很高兴。

关于javascript - "if"语句参数未按预期运行。 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43301434/

相关文章:

jquery - 当输入到达字段末尾时在 TextArea 中创建额外的行?

html - 溢出:隐藏不被 chrome 上的边框半径所尊重

javascript - 更改文本背景荧光笔

css - 自动换行 td 内容

html - 使导航菜单始终正确显示,内容不会溢出

javascript - FireFox 与 Webkit/IE 不同的 onchange 行为

javascript - 以字符串作为第一个操作数的加法运算符可以返回非字符串吗?

javascript - 如何在我的 nodejs 编码中使用 promise 链

html - 表中每一行的边框半径

javascript - Sankey D3.js sankey.link 不是函数