我想设置一个有3次尝试的计数器。警告框必须显示剩余的尝试。当我测试它时,脚本不会运行。
这是我的代码:
JQUERY
var counter = 3;
$(document).ready(function() {
$(".nummer").click(function() {
var nummer = $(this).text();
$("#display").append(nummer);
if ($("#display").text().length > 5) {
controle();
}
});
});
function controle() {
if ($("#display").text() == 1234) {
alert("correct");
} else {
while (counter > 0) {
alert(counter - 1 "pogingen");
}
alert("you failed");
}
}
HTML
<div id="display"> </div>
<div id="toetsen">
<ul>
<li><a class="nummer" href="#" id="knop1">1</a></li>
<li><a class="nummer" href="#" id="knop2">2</a></li>
<li><a class="nummer" href="#" id="knop3">3</a></li>
</ul>
答案 0 :(得分:1)
替换它:
alert(counter - 1 "pogingen");
有了这个:
alert((counter - 1)+"pogingen");
--counter;
还要确保正确缩进代码,以免丢失。
答案 1 :(得分:1)
使用下面的代码,警告你错过了concat运算符
function controle() {
if ($("#display").text() == 1234) {
alert("correct");
} else {
while (counter > 0) {
alert((counter-1)+"pogingen");
counter = counter-1; // decrement the value
}
alert("you failed");
}
}
答案 2 :(得分:1)
您的提醒包含语法错误。您应该使用+
alert(counter - 1 + " pogingen");
counter - 1
但是,总是会产生2
。在某些时候,您需要实际设置值。最可读的是counter = counter - 1
,但最短的是在使用--counter
在警报中访问该值之前将其递减1:
alert(--counter + ' pogingen');
在决定是否测试给定值时,您需要检查$("#display").text().length > 5
。如果正确的答案确实是1234
,那么如果你只测试一个长度大于5的值,你将永远不会实现这一点。
您使用的是while
。这将简单地循环,直到条件为假。在您的情况下,由于您没有递减该值,它永远不会,并且您有一个无限循环的警报。如果你像上面那样引入减量,那么你所有的猜测都会立即用完。您希望使用if ... else
而不是while
,仅测试counter
的当前值,然后继续。
同样,如果正确答案确实是1234
,那么您永远无法实现此目标,因为没有4
按钮。
最后,您唯一能做的就是追加到该值。在每次猜测之后,您需要清除它以允许新的猜测。将$('#display').text('');
设置在方便的位置,例如显示警报后。
var counter = 3, correctAnswer = '1234';
$(document).ready(function() {
$(".nummer").click(function() {
var nummer = $(this).text();
$("#display").append(nummer);
if ($("#display").text().length >= correctAnswer.length) {
controle();
}
});
});
function controle() {
if ($("#display").text() == correctAnswer) {
alert("correct");
} else {
if(counter > 0) {
alert(--counter + " pogingen");
} else {
alert("you failed");
}
$('#display').text('');
}
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="display"></div>
<div id="toetsen">
<ul>
<li><a class="nummer" href="#" id="knop1">1</a></li>
<li><a class="nummer" href="#" id="knop2">2</a></li>
<li><a class="nummer" href="#" id="knop3">3</a></li>
<li><a class="nummer" href="#" id="knop4">4</a></li>
</ul>
</div>
&#13;