Javascript 为什么youWin的此功能不能正常工作?

Javascript 为什么youWin的此功能不能正常工作?,javascript,function,comparison-operators,Javascript,Function,Comparison Operators,我相信我在这里发布了所有相关代码 该函数肯定会运行,因为如果我将>切换为,则不会更改全局player和finish变量。您正在制作新的本地产品。有关的详细信息。试试这个 var player = document.getElementById("pic2").offsetLeft; var finish = document.getElementById("pic3").offsetLeft; console.log(player); console.log(finish); functio

我相信我在这里发布了所有相关代码


该函数肯定会运行,因为如果我将>切换为,则不会更改全局player和finish变量。您正在制作新的本地产品。有关的详细信息。试试这个

var player = document.getElementById("pic2").offsetLeft;
var finish = document.getElementById("pic3").offsetLeft;

console.log(player);
console.log(finish);

function youWin() {
  if (player >= finish) {
    alert("You Win!");
  } else {

  }
};
$(function() {
  $('#moveup').click(function() {
    $("#pic2").css('margin-left', '+=2vw');
    $("#pic3").css('margin-left', '-=2vw');
    document.getElementById("guessField").value = "";
    $('#myModalTrue').toggle();
    y = regenerate();
    player = document.getElementById("pic2").offsetLeft;//change is here
    finish = document.getElementById("pic3").offsetLeft;//and here
    console.log(player);
    console.log(finish);
    youWin();
  });
});

尝试在youWin函数中记录值,它将返回旧值和答案。您的player和finish值未针对函数进行更新。它仍然在变老

function youWin(player, finish) {
  if (player >= finish) {
    alert("You Win!");
  } else {

  }
};

$(function() {
  $('#moveup').click(function() {
    $("#pic2").css('margin-left', '+=2vw');
    $("#pic3").css('margin-left', '-=2vw');
    document.getElementById("guessField").value = "";
    $('#myModalTrue').toggle();
    y = regenerate();
    var player = document.getElementById("pic2").offsetLeft;
    var finish = document.getElementById("pic3").offsetLeft;
    console.log(player);
    console.log(finish);
    youWin(player, finish);
  });
});

尝试在youWin函数中记录值,它将返回旧值和答案。由于变量的作用域。请更正!它不起作用,但将player和finish放在函数中的解决方案起到了作用。这是一个很棒的社区。谢谢@贾斯汀·保莱塔:不可能,它应该会起作用。我使用相同的逻辑制作了一个JSFIDLE,以确定该注释也指的是@evgenifotia。我最初的评论是当你的回答说试试这个是的实际上我想我把事情搞砸了。。。我又读了一遍。。。谢谢你的例子!我道歉!我正在努力解决个人编码问题。。你的解决方案对我有效!谢谢
function youWin(player, finish) {
  if (player >= finish) {
    alert("You Win!");
  } else {

  }
};

$(function() {
  $('#moveup').click(function() {
    $("#pic2").css('margin-left', '+=2vw');
    $("#pic3").css('margin-left', '-=2vw');
    document.getElementById("guessField").value = "";
    $('#myModalTrue').toggle();
    y = regenerate();
    var player = document.getElementById("pic2").offsetLeft;
    var finish = document.getElementById("pic3").offsetLeft;
    console.log(player);
    console.log(finish);
    youWin(player, finish);
  });
});