来自HTML +反应显示的JS函数调用

时间:2017-05-16 16:02:02

标签: javascript html button

游戏是WAR,或者是你的邻居,这是一款传统的游戏,使用标准的52张牌,没有玩家。目前代码识别卡何时超过10,因此遵循游戏规则,一切都很好,我设计了一个计时器,取卡2-14的值,减去10,然后使用该数字对于一轮回合,其他玩家必须在赢得之前抽取10以上。仍在构建合作/多人游戏元素但是现在,我只想让这个血腥的按钮工作!

当我点击它时,它什么也没做。之前,它会告诉我“'timerf'不是一个函数”。我可能正在做一些非常明显的事情,比如加载事物或解析数据的顺序问题,但我还在学习,所以我很感激任何帮助!有任何问题,请告诉我。

var card = null; // setem 160517
var timer = null; //
    
window.onload = function() {
   function draw(min, max) { // draw a card between 2-14
    		card = document.getElementById("draw").innerHTML = Math.floor(Math.random()*((max - min)+1) + min); // min 2, max 14
    			if (card > 10) {
    				timer = card - 10;
    				timerf(timer);
    			} else if (card < 11 && timer > 0) {
    				timer = timerf(timer-1);
    			}
    } // draw
   //draw(2,14);
  document.getElementById("clickMe").onclick = draw(2,14);
 } // window.onload
    
function timerf(timer) { // print turns to win
    if (timer > 0 && timer < 5 && timer != 1) { // print turns to win
      console.log("you have " + timer + " turns to win!");
    } else if (timer == 1) {
      console.log("you have " + timer + " turn to win!");
    }
}
<div id="draw"></div>
<button id="clickMe">WAR!</button>

1 个答案:

答案 0 :(得分:0)

draw函数的返回值为undefined,因为它没有return语句。

document.getElementById("clickMe").onclick = draw(2,14);

...因此您要将undefined分配给onclick媒体资源。

您必须指定要呼叫的功能。