gpt4 book ai didi

javascript - jquery 下一步按钮不工作

转载 作者:太空宇宙 更新时间:2023-11-04 13:34:09 25 4
gpt4 key购买 nike

为了好玩,我正在制作一个测验网络应用程序。它仅用 JavaScript、html 和 css 编写,因此没有服务器端。不要告诉我我的用户可以作弊。我知道。我希望下一个按钮起作用。现在,下一个和上一个都执行下一个操作,但它不起作用。可以在http://jsfiddle.net/nimsson/5fW2Z/1/试用.再说一次,我现在不在乎作弊。

html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Quiz Test</title>
<link rel="stylesheet" type="text/css" href="quiz.css" />
</head>

<body>
<ul class="quiz">
<li>
<div class="quizitem">
<div class="question">What is 2+2?</div>
<br />
<ul class="answers">
<li class="wrong answer">a. 5</li>
<li class="wrong answer">b. 2</li>
<li class="correct answer">c. 4</li>
</ul>
<br />
<br />
<div class="nav"><span>Previous</span><span>Next</span></div>
</div>
</li>
<li>
<div class="quizitem">
<div class="question">What is 2+2?</div>
<br />
<ul class="answers">
<li class="wrong answer">a. 5</li>
<li class="wrong answer">b. 2 </li>
<li class="correct answer">c. 4</li>
</ul>
<br />
<br />
<div class="nav"><span>Previous</span><span>Next</span></div>
</div>
</li>
</ul>

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="quiz.js"></script>
</body>
</html>

测验.js:

// JavaScript Document
var questionI = 1;

$("ul.quiz div.quizitem ul.answers li.answer").click(function(e) {
$(this).parent().children().removeClass("selected");
$(this).addClass("selected");
});
$("ul.quiz div.quizitem div.nav span").click(function(e) {
var ind = $(this).parent().parent().parent().index();
$(this).parent().parent().parent().parent().hide();
$(this).parent().parent().parent().parent().next().show();
});

$("ul.quiz div.quizitem").hide();
$("ul.quiz div.quizitem").eq(0).show();

测验.css:

@charset "utf-8";
/* CSS Document */

ul.quiz {
list-style:none;
position:relative;
left:-20px;
}

div.quizitem {
padding:10px;
border:1px solid black;
}
div.quizitem:after {
content: '';
display: table;
clear: both;
}
div.quizitem ul.answers {
list-style:none;
position:relative;
left:-10px;
}
div.quizitem ul.answers > li.answer {
cursor: pointer;
background-color: #0F6;
-webkit-transition: all .25s ease;
-moz-transition: all .25s ease;
-ms-transition: all .25s ease;
-o-transition: all .25s ease;
transition: all .25s ease;
}
ul.quiz div.quizitem ul.answers > li.answer.selected {
background-color: #0CF;
}
ul.quiz div.quizitem ul.answers > li.answer:hover {
background-color: #0F9;
}
ul.quiz div.quizitem ul.answers > li.answer.selected:hover {
background-color: #0DF;
}
ul.quiz div.quizitem div.nav > span {
width:100px;
height:20px;
cursor: pointer;
text-align: center;
background-color: #0CF;
-webkit-transition: all .25s ease;
-moz-transition: all .25s ease;
-ms-transition: all .25s ease;
-o-transition: all .25s ease;
transition: all .25s ease;
text-align:center;
}
ul.quiz div.quizitem div.nav > span:nth-child(1) {
float:left;
}

ul.quiz div.quizitem div.nav > span:nth-child(2) {
float:right;
}
ul.quiz div.quizitem div.nav > span:hover {
background-color: #0DF;
}

最佳答案

当您隐藏和显示时,您在 parent() 步骤中上升了太多级别。此外,您隐藏和显示了错误的元素——当测验开始时,您隐藏了 div.quizitem,但是当您隐藏和展示。使用 closest() 查找您关心的祖先更简单,因为它有一个您可以搜索的类。

$("ul.quiz div.quizitem div.nav span").click(function (e) {
var ind = $(this).parent().parent().parent().index();
$(this).closest('div.quizitem').hide()
.parent().next().find('div.quizitem').show();
});

DEMO

关于javascript - jquery 下一步按钮不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23164369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com