Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在该mousemove函数中,If语句从不为true_Javascript_Dom Events - Fatal编程技术网

Javascript 在该mousemove函数中,If语句从不为true

Javascript 在该mousemove函数中,If语句从不为true,javascript,dom-events,Javascript,Dom Events,我有一张带有div的web地图,名为map2。当用户在DIV中移动鼠标时,下面的函数始终在光标位置上执行数学运算。当全局变量productAdded为true时,我希望填充一个DIV。在下面的代码中,该DIV位于if语句中。但是,我验证了if语句中的代码从未执行,即使productAdded为true也是如此。(我使用console.log()验证了这一点 当应用程序第一次启动时,productAdded不是真的,但在某个点上它是真的,并且应该执行。我有一种预感,下面的代码只会检查product

我有一张带有div的web地图,名为
map2
。当用户在DIV中移动鼠标时,下面的函数始终在光标位置上执行数学运算。当全局变量
productAdded
为true时,我希望填充一个DIV。在下面的代码中,该DIV位于if语句中。但是,我验证了
if
语句中的代码从未执行,即使productAdded为true也是如此。(我使用console.log()验证了这一点

当应用程序第一次启动时,productAdded不是真的,但在某个点上它是真的,并且应该执行。我有一种预感,下面的代码只会检查
productAdded
是否为真,并且只检查一次,而不是在每个鼠标移动中按我的预期进行检查

我做错了什么

为了完整起见,我在下面的示例中保留了数学知识,以防我缺少语法或其他东西

map2.on('mousemove', function(e) {

var str = JSON.stringify(e.lngLat.wrap())
var findLon = str.indexOf("lon") + 8;
var lon1 = str.substring(findLon,findLon+7);
var findLat = str.indexOf("lat");
var lat1 = str.substring(findLat+5,findLat+11);
var lon2 = -100.28;
var lat2 = 29.273;
var distFromRadar = distance(lat1, lon1, lat2, lon2, "M");
var sliceAngle = 0.5
var elevation = getElevation(sliceAngle, distFromRadar); 

if(window.productAdded==1) // Even when variable true, this code never executes
{
document.getElementById('infoSecond').innerHTML = lon1 + "° " + lat1 + "°    " + distFromRadar + "mi     " + elevation + "ft";
} // end if product added

});

解决方案是再次检查并验证productAdded是否为全局。上述问题中的代码语法正确,没有运行时错误。

每次鼠标移动时都会检查它。请提供一个演示问题的示例。看起来像是您的
窗口。productAdded==1
条件的计算结果不是
true
。浏览器开发人员工具控制台中有错误吗?请尝试放置
console.log(window.productAdded)
就在console.log之前…可能有一个输入错误,您的代码执行了
productAdded=1
-例如
productAdded=1
productAded=1
-输入错误发生了MM,即您需要将对象转换为字符串(JSON)在从中提取值之前,它表明您的代码中有一些乱七八糟的东西…非常乱七八糟-向mousemove处理程序添加一些console.log来执行一些操作debugging@JaromandaX,谢谢。我添加了console.log(window.productAdded),它显示未定义。但是我可以在别处检查变量,它是1。所以这至少是一个线索。