我有这个显示图像和单词的简单代码,您必须完成该字段。如果您正确输入单词,则会出现恭喜弹出窗口。
我能够弄清楚如何随机化 array
中的项目以显示随机图像。
现在我想检查每个 keyup
是否与那个随机词匹配。
我的 IF
语句似乎有问题,因为如果我删除它,弹出窗口将完美运行。
错误:
uncaught typeerror undefined is not a function
代码:
<html>
<head>
<title>AutistApp</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="js/jquery.min.js"></script>
</head>
<body>
<div id="container">
<div class="eval">CORRECTO</div>
<div class="siguiente"><a href=".">¡OTRA VEZ!</a></div>
<div class="dibujo"><img id="dibujito" src="img/apple.png" /></div>
<div class="palabra">MANZANA</div>
<div class="respuesta"><input type="text" id="resp" name="resp" value=""/>
</div>
</div>
<script type="text/javascript">
/***** RANDOM VALUES *****/
var messages = ["manzana", "pera", "banana"],
message = messages[Math.floor(Math.random() * messages.length)];
$('.palabra').text(message);
$('#dibujito').attr('src','img/'+message+'.png');
/***** KEYDOWN CHECK *****/
$(document).ready(function(){
$('#resp').keyup(function(){
if ($("#resp").value() == message) {
$('.eval').slideDown();
$('.eval').delay(3000).fadeOut();
$('.siguiente').delay(3000).slideDown();
}
});
});
</script>
</body>
</html>
最佳答案
您需要使用 .val() 而不是 .value()
来获取 input
元素的值,因此您可以:
if ($("#resp").val() == message) {
代替:
if ($("#resp").value() == message) {
您还需要将所有代码包装在 DOM 就绪处理程序中:
$(document).ready(function () {
var messages = ["manzana", "pera", "banana"],
message = messages[Math.floor(Math.random() * messages.length)];
$('.palabra').text(message);
$('#dibujito').attr('src', 'img/' + message + '.png');
$('#resp').keyup(function () {
if ($("#resp").val() == message) {
$('.eval').slideDown();
$('.eval').delay(3000).fadeOut();
$('.siguiente').delay(3000).slideDown();
}
});
});
关于javascript - jQuery 如果在未定义的函数内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23379381/