有人可以帮我在JavaScript项目中实现一些东西吗? @ http://codepen.io/urketadic/pen/YpLgBX
我希望数字在错误的情况下变为红色,而不是按pi的顺序排列。对我而言,保持计数并与所有内容进行比较真的很困难。

我已经尝试了很多,最后我想到了以下代码:

 var count = 0;
// color the mistake right away
   $("#inputsm").keyup(function(event) {
    var pressed = event.key;
    answer = $("#inputsm").val();
    pisub = pi.substr(input,answer.length)
    if (pressed!=="Backspace"&&pressed!=="Delete") count++;
    else count--;
     console.log(count);
});


我只是感到困惑,我不知道该怎么做。文本区域是否还允许数字变为红色?我也尝试添加jquery css,但是它不起作用。有人可以用自己的Codepen编写它并发布链接吗?

最佳答案

看看这个小提琴:https://jsfiddle.net/ebv5n64j/2/

我整理了一些基本上可以完成您想要做的事情。您可以从那里修改它,但这是基本概念。我设计了我的解决方案,直到用户正确解决方案后才让用户继续使用,但是您可以轻松地更改它。

这是一个代码段,但是jsfiddle具有完整的工作版本:

// If it's a delete command
  if(code === 8){
    if(!$("#wrong").length > 0)
        inputCount = (inputCount === 0 ? 0 : --inputCount);
    $("#pi span").last().remove();
    console.log(inputCount);
  } else if (code >= 48 && code <= 57) {

    var inputNumber = code - 48;
    var numSpan;

    $("#wrong").remove();

    numSpan = $("<span>"); // make a new one

    // Append the number
    numSpan.text(inputNumber);
    numSpan.removeClass("incorrect");

    if(String(inputNumber) === piDigits[inputCount]){
        numSpan.addClass("correct");
      inputCount++;
    } else {
        numSpan.attr("id", "wrong");
    }

    $("#pi").append(numSpan);

    placeCaretAtEnd(this);

  }

关于javascript - 如果比较错误,尝试使按键编号变为红色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41029883/

10-12 15:37