Jquery Hide & Show To Build Quiz
i'm trying to make a simple quiz using jquery hide & show functions , first i created some divs elements wich will be the questions + the last elements will contain a text &
Solution 1:
HTML:
<div class="divs">
<div class="cls1">
Gender<br/>
<input type="radio" name="sex" value="male">Male<br>
<input type="radio" name="sex" value="female">Female
</div>
<div class="cls2">
Language<br/>
<input type="radio" name="language" value="java">Java<br>
<input type="radio" name="language" value="python">Python
</div>
<div class="cls3">
Preference<br/>
<input type="radio" name="preference" value="morning">Morning<br>
<input type="radio" name="preference" value="night">Night
</div>
<div class="cls4">4</div>
<div class="cls5">5</div>
<div class="cls6">6</div>
<div class="cls7">7</div>
<div class="your-quiz-result"></div>
</div>
<a id="next">next</a>
<a id="prev">prev</a>
JavaScript:
$(document).ready(function(){
$(".divs > div").each(function(e) {
if (e != 0)
$(this).hide();
});
$("#next").click(function(){
if ($(".divs div:visible").next().length != 0){
$(".divs div:visible").next().show().prev().hide();
if($(".divs div:visible").next().length == 0){
//1. Hide the two buttons
$("#next, #prev").hide();
//3. Show the results
var divs = $(".divs div:visible").prevAll().clone();
divs.show();
//Reverse the order
var divs = jQuery.makeArray(divs);
divs.reverse();
$(".your-quiz-result")
.empty()
.append(divs);
}
}
return false;
});
$("#prev").click(function(){
if ($(".divs div:visible").prev().length != 0){
console.log("There are still elements");
$(".divs div:visible")
.prev()
.show()
.next()
.hide();
}
else {
//2. Can't go previous first div
console.log("Can't go previous first div");
}
return false;
});
});
Post a Comment for "Jquery Hide & Show To Build Quiz"