【问题标题】:HTML, CSS, JS Unexpected end of input errorHTML、CSS、JS 输入错误意外结束
【发布时间】:2017-05-08 10:05:33
【问题描述】:

我正在开发一款纸牌游戏,但我收到此错误,即输入意外结束。我对此错误一无所知,因此将不胜感激。 codepen 也没有显示任何内容,它给出了错误以及 StackOverflow 中的编译器。任何帮助将不胜感激。

var turn = true;

var enemyCards = document.getElementById('enemy-cards');

var friendlyCards = document.getElementById('friendly-cards');

var friendlyHealth = document.getElementById('friendly-health-value');

var enemyHealth = document.getElementById('enemy-health-value');

var goodHealth=20;
var badHealth=20;

var enemyCardArray = [[2, 3], [2, 4]];

var friendlyCardArray = [[4, 3], [3,2]];

function initialSetup() {
  for (var i=0; i < enemyCardArray.length; i++) {
    var card = enemyCardArray[i]
    var damage = card[0];
    var health = card[1];
    enemyCards.innerHTML += "<div class='card'><h1 class='damage'>"+damage+"</h1><h1 class='health'>"+health+"</h1></div>"
  }

  for (var i=0; i < friendlyCardArray.length; i++) {
    var card = friendlyCardArray[i]
    var damage = card[0];
    var health = card[1];
    friendlyCards.innerHTML += "<div class='card'><h1 class='damage'>"+damage+"</h1><h1 class='health'>"+health+"</h1></div>"
  }
}

function setup() {
       enemyCards.innerHTML = "";//<--Set it to "" here, not in for loop
       friendlyCards.innerHTML = "";//<--Set it to "" here, not in for loop
       for (var i = 0; i < enemyCardArray.length; i++) {
            var card = enemyCardArray[i]
            var damage = card[0];
            var health = card[1];
            //enemyCards.innerHTML = "";
            enemyCards.innerHTML += "<div class='card'><h1 class='damage'>" + damage + "</h1><h1 class='health'>" + health + "</h1></div>";
                }

       for (var i = 0; i < friendlyCardArray.length; i++) {
              var card = friendlyCardArray[i]
              var damage = card[0];
              var health = card[1];
              //friendlyCards.innerHTML = "";
              friendlyCards.innerHTML += "<div class='card'><h1 class='damage'>" + damage + "</h1><h1 class='health'>" + health + "</h1></div>";
                }
            }

function battle() {
  if (turn === true){
    for (var i = 0; i<friendlyCardArray.length; i++) {
      if (friendlyCardArray.length == enemyCardArray.length){
        enemyCardArray[i][1] -= friendlyCardArray[i][0];
        if (enemyCardArray[i][1] < 1){
          enemyCardArray.splice(i, 1);
        }
      }if(friendlyCardArray.length>enemyCardArray.length){
        for (var i=0; i<enemyCardArray.length; i++){
          enemyCardArray[i][1] -= friendlyCardArray[i][0];
        if (enemyCardArray[i][1] < 1){
          enemyCardArray.splice(i, 1);
        }
       }
        for (var i=enemyCardArray.length+1; i>enemyCardArray.length; i++){
          badHealth-=friendlyCardArray[i][0];
          if (i == frienlyCardArray.length+1){
            break;
          }
        }
        
      }if(friendlyCardArray.length<enemyCardArray.length){
        for (var i=0; i<friendlyCardArray.length; i++){
          enemyCardArray[i][1] -= friendlyCardArray[i][0];
        if (enemyCardArray[i][1] < 1){
          enemyCardArray.splice(i, 1);
      }
    }
        
  }if (turn === false){
    
  }
}
initialSetup();
battle();
setup();
  
    
body {
  margin: 0;
  font-family: sans-serif;
  position: relative;
}

#enemy-cards{
  background-color: #873a00;
  width: 100%;
  height: 270px;
}

#friendly-cards{
  background-color: #873a00;
  width: 100%;
  height: 270px;
  position: fixed;
  bottom: 0;
}

.card {
  width: 150px;
  height: 250px;
  background-color: #afafaf;
  margin-top: 10px;
  margin-left: 10px;
  margin-bottom: 10px;
  position: relative;
  float:left;
}

.damage {
  text-align: left;
  position: absolute;
  bottom:0;
  left: 20px;
}

.health {
  text-align: right;
  position: absolute;
  bottom:0;
  right: 20px;
}

#friendly-health{
  float:left;
  width: 50%;
  background-color: lightgreen;
  height: 200px;
}
#friendly-health-value{
  position: fixed;
  left: 25%;
  vertical-align: middle;
  color: white;
}

#enemy-health-value{
  position: fixed;
  left: 75%;
  vertical-align: middle;
  color: white;
}

#enemy-health{
  float:left;
  width: 50%;
  background-color: #f73f27;
  height: 200px;
}
<div id="game">
  <div id="enemy-cards">
  </div>
  <div id="health">
    <div id="friendly-health">
      <h1 id="friendly-health-value">20</h1>
    </div>
    <div id="enemy-health">
      <h1 id="enemy-health-value">20</h1>
    </div>
  </div>
  <div id="friendly-cards">
  </div>
</div>

【问题讨论】:

  • 您在 battle() 函数中的某处缺少 }
  • 不,他在最后一个函数的末尾缺少 2 }。 :)
  • battle() 是最后一个函数,不是吗?最后不一定,取决于所有那些for 循环和if 语句应该如何嵌套:)
  • 如果你正确缩进你的代码,对于你和所有查看你的代码的人来说,找到放错位置的大括号会容易得多

标签: javascript html css web compiler-errors


【解决方案1】:

使用JSHint & JSLint 它会显示您的错误和警告。希望对您有所帮助。

【讨论】:

    【解决方案2】:

    修复你的 Js

    var turn = true;
    
    var enemyCards = document.getElementById('enemy-cards');
    
    var friendlyCards = document.getElementById('friendly-cards');
    
    var friendlyHealth = document.getElementById('friendly-health-value');
    
    var enemyHealth = document.getElementById('enemy-health-value');
    
    var goodHealth = 20;
    var badHealth = 20;
    
    var enemyCardArray = [
        [2, 3],
        [2, 4]
    ];
    
    var friendlyCardArray = [
        [4, 3],
        [3, 2]
    ];
    
    function initialSetup() {
        for (var i = 0; i < enemyCardArray.length; i++) {
            var card = enemyCardArray[i];
            var damage = card[0];
            var health = card[1];
            enemyCards.innerHTML += "<div class='card'><h1 class='damage'>" + damage + " <
                /h1><h1 class='health'>"+health+"</h
            1 > < /div>"
        }
    
        for (var i = 0; i < friendlyCardArray.length; i++) {
            var card = friendlyCardArray[i];
            var damage = card[0];
            var health = card[1];
            friendlyCards.innerHTML += "<div class='card'><h1 class='damage'>" + damage + " <
                /h1><h1 class='health'>"+health+"</h
            1 > < /div>"
        }
    }
    
    function setup() {
        enemyCards.innerHTML = ""; //<--Set it to "" here, not in for loop
        friendlyCards.innerHTML = ""; //<--Set it to "" here, not in for loop
        for (var i = 0; i < enemyCardArray.length; i++) {
            var card = enemyCardArray[i];
            var damage = card[0];
            var health = card[1];
            //enemyCards.innerHTML = "";
            enemyCards.innerHTML += "<div class='card'><h1 class='damage'>" +
                damage + "</h1><h1 class='health'>" + health + "</h1></div>";
        }
    
        for (var i = 0; i < friendlyCardArray.length; i++) {
            var card = friendlyCardArray[i];
            var damage = card[0];
            var health = card[1];
            //friendlyCards.innerHTML = "";
            friendlyCards.innerHTML += "<div class='card'><h1 class='damage'>" +
                damage + "</h1><h1 class='health'>" + health + "</h1></div>";
        }
    }
    
    function battle() {
        if (turn === true) {
            for (var i = 0; i < friendlyCardArray.length; i++) {
                if (friendlyCardArray.length == enemyCardArray.length) {
                    enemyCardArray[i][1] -= friendlyCardArray[i][0];
                    if (enemyCardArray[i][1] < 1) {
                        enemyCardArray.splice(i, 1);
                    }
                }
                if (friendlyCardArray.length > enemyCardArray.length) {
                    for (var i = 0; i < enemyCardArray.length; i++) {
                        enemyCardArray[i][1] -= friendlyCardArray[i][0];
                        if (enemyCardArray[i][1] < 1) {
                            enemyCardArray.splice(i, 1);
                        }
                    }
                    for (var i = enemyCardArray.length + 1; i > enemyCardArray.length; i++) {
                        badHealth -= friendlyCardArray[i][0];
                        if (i == frienlyCardArray.length + 1) {
                            break;
                        }
                    }
    
                }
                if (friendlyCardArray.length < enemyCardArray.length) {
                    for (var i = 0; i < friendlyCardArray.length; i++) {
                        enemyCardArray[i][1] -= friendlyCardArray[i][0];
                        if (enemyCardArray[i][1] < 1) {
                            enemyCardArray.splice(i, 1);
                        }
                    }
    
                }
                if (turn === false) {
    
                }
            }
        }
    }
    initialSetup();
    battle();
    setup();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      • 2021-07-26
      • 1970-01-01
      相关资源
      最近更新 更多