更多操作
无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
getdata() | getdata() | ||
function getdata(){ | function getdata(){ | ||
var data = $('.data') | var data = $('.data'); | ||
var dataLength = data.length | var dataLength = data.length; | ||
var subjectCon = $('.subjectContainer') | var subjectCon = $('.subjectContainer'); | ||
console.log(data) | console.log(data); | ||
$('<button id="singleChoiceReset" onclick="resetSingleChoice('+dataLength+')">重置答题状态</button>').prependTo(subjectCon) | $('<button id="singleChoiceReset" onclick="resetSingleChoice('+dataLength+')">重置答题状态</button>').prependTo(subjectCon); | ||
for(var i=0;i<dataLength;i++){ | for(var i=0;i<dataLength;i++){ | ||
var singleData = $(data[i]).text() | var singleData = $(data[i]).text(); | ||
console.log(singleData) | console.log(singleData); | ||
var jsonData = $.parseJSON(singleData) | var jsonData = $.parseJSON(singleData); | ||
console.log(jsonData) | console.log(jsonData); | ||
if(jsonData.type=='singleChoice'){ | if(jsonData.type=='singleChoice'){ | ||
singleChoiceModule(i) | singleChoiceModule(i); | ||
singleChoice(jsonData,i) | singleChoice(jsonData,i); | ||
} | } | ||
} | } | ||
} | } | ||
function singleChoice(json,id){ | function singleChoice(json,id){ | ||
var subjectCon = $('.subjectContainer').children('#'+id) | var subjectCon = $('.subjectContainer').children('#'+id); | ||
var titleCon = subjectCon.children('.subject').children('.titleContainer') | var titleCon = subjectCon.children('.subject').children('.titleContainer'); | ||
var correctCon = subjectCon.children('.correctContainer') | var correctCon = subjectCon.children('.correctContainer'); | ||
var source = titleCon.children('.source').text(json.source) | var source = titleCon.children('.source').text(json.source); | ||
var title = titleCon.children('.title').text(json.title) | var title = titleCon.children('.title').text(json.title); | ||
var correctAns = correctCon.children('.correctAnswer').text(json.answer) | var correctAns = correctCon.children('.correctAnswer').text(json.answer); | ||
var exp = correctCon.children('.explain').text(json.explain) | var exp = correctCon.children('.explain').text(json.explain); | ||
var answers = subjectCon.children('.subject').children('.answers') | var answers = subjectCon.children('.subject').children('.answers'); | ||
for(var key in json.choices){ | for(var key in json.choices){ | ||
if(json.choices[key].length>0){ | if(json.choices[key].length>0){ | ||
var label = '<label id="'+key+'"><input name="singelChoice-'+id+'" type="radio" value="'+key+'" />'+json.choices[key]+'</label>' | var label = '<label id="'+key+'"><input name="singelChoice-'+id+'" type="radio" value="'+key+'" />'+json.choices[key]+'</label>'; | ||
answers.append(label) | answers.append(label); | ||
} | } | ||
} | } | ||
第59行: | 第49行: | ||
} | } | ||
function showAnswer(id){ | function showAnswer(id){ | ||
var subjectCon = $('.subjectContainer').children('#'+id) | var subjectCon = $('.subjectContainer').children('#'+id); | ||
var correctCon = subjectCon.children('.correctContainer') | var correctCon = subjectCon.children('.correctContainer'); | ||
var answers = subjectCon.children('.subject').children('.answers') | var answers = subjectCon.children('.subject').children('.answers'); | ||
var correctAns= correctCon.children('.correctAnswer').text() | var correctAns= correctCon.children('.correctAnswer').text(); | ||
var choice = $('input[name="singelChoice-'+id+'"]:checked').val(); | var choice = $('input[name="singelChoice-'+id+'"]:checked').val(); | ||
console.log(choice) | console.log(choice); | ||
var showCorrect = answers.children('#'+correctAns) | var showCorrect = answers.children('#'+correctAns); | ||
var showChoice = answers.children('#'+choice) | var showChoice = answers.children('#'+choice); | ||
correctCon.fadeIn(100) | correctCon.fadeIn(100); | ||
if(choice==correctAns){ | if(choice==correctAns){ | ||
showCorrect.addClass('correct') | showCorrect.addClass('correct'); | ||
}else{ | }else{ | ||
showCorrect.addClass('correct') | showCorrect.addClass('correct'); | ||
showChoice.addClass('wrong') | showChoice.addClass('wrong'); | ||
} | } | ||
setTimeout(function (){ | setTimeout(function (){ | ||
removeBackground(showChoice) | removeBackground(showChoice); | ||
removeBackground(showCorrect) | removeBackground(showCorrect); | ||
}, 4000); | }, 4000); | ||
setTimeout(function (){ | setTimeout(function (){ | ||
showCorrect.removeClass('no-background') | showCorrect.removeClass('no-background'); | ||
showChoice.removeClass('no-background') | showChoice.removeClass('no-background'); | ||
showCorrect.removeClass('correct') | showCorrect.removeClass('correct'); | ||
showChoice.removeClass('wrong') | showChoice.removeClass('wrong'); | ||
}, 5000) | }, 5000) | ||
} | } | ||
function resetSingleChoice(length){ | function resetSingleChoice(length){ | ||
for(var id=0;id<length;id++){ | for(var id=0;id<length;id++){ | ||
var choice = $('input:radio').attr("checked",false) | var choice = $('input:radio').attr("checked",false); | ||
var subjectCon = $('.subjectContainer').children('#'+id) | var subjectCon = $('.subjectContainer').children('#'+id); | ||
var correctCon = subjectCon.children('.correctContainer') | var correctCon = subjectCon.children('.correctContainer'); | ||
correctCon.fadeOut(100) | correctCon.fadeOut(100); | ||
} | } | ||
} | } |
2022年2月7日 (一) 15:48的版本
getdata()
function getdata(){
var data = $('.data');
var dataLength = data.length;
var subjectCon = $('.subjectContainer');
console.log(data);
$('<button id="singleChoiceReset" onclick="resetSingleChoice('+dataLength+')">重置答题状态</button>').prependTo(subjectCon);
for(var i=0;i<dataLength;i++){
var singleData = $(data[i]).text();
console.log(singleData);
var jsonData = $.parseJSON(singleData);
console.log(jsonData);
if(jsonData.type=='singleChoice'){
singleChoiceModule(i);
singleChoice(jsonData,i);
}
}
}
function singleChoice(json,id){
var subjectCon = $('.subjectContainer').children('#'+id);
var titleCon = subjectCon.children('.subject').children('.titleContainer');
var correctCon = subjectCon.children('.correctContainer');
var source = titleCon.children('.source').text(json.source);
var title = titleCon.children('.title').text(json.title);
var correctAns = correctCon.children('.correctAnswer').text(json.answer);
var exp = correctCon.children('.explain').text(json.explain);
var answers = subjectCon.children('.subject').children('.answers');
for(var key in json.choices){
if(json.choices[key].length>0){
var label = '<label id="'+key+'"><input name="singelChoice-'+id+'" type="radio" value="'+key+'" />'+json.choices[key]+'</label>';
answers.append(label);
}
}
}
function singleChoiceModule(id){
var main = $('<div id="'+id+'"></div>')
var subject = $('<div class="subject">' +
'<div class="titleContainer"><p class="source"></p><p class="title"></p></div>' +
'<div class="answers"></div></div>').appendTo(main)
var showButton = $('<button id="showSingle-'+id+'" onclick="showAnswer('+id+')">提交</button>').appendTo(main)
var correctCon = $('<div id="correctContainer" class="correctContainer noDisplay">' +
' <p style="display:inline;"><b>正确答案:</b></p>\n' +
' <p class="correctAnswer"></p><p><b>解析: </b></p>\n' +
' <p class="explain"></p></div>').appendTo(main)
main.appendTo($('.subjectContainer'))
}
function removeBackground(obj){
obj.addClass('no-background')
}
function showAnswer(id){
var subjectCon = $('.subjectContainer').children('#'+id);
var correctCon = subjectCon.children('.correctContainer');
var answers = subjectCon.children('.subject').children('.answers');
var correctAns= correctCon.children('.correctAnswer').text();
var choice = $('input[name="singelChoice-'+id+'"]:checked').val();
console.log(choice);
var showCorrect = answers.children('#'+correctAns);
var showChoice = answers.children('#'+choice);
correctCon.fadeIn(100);
if(choice==correctAns){
showCorrect.addClass('correct');
}else{
showCorrect.addClass('correct');
showChoice.addClass('wrong');
}
setTimeout(function (){
removeBackground(showChoice);
removeBackground(showCorrect);
}, 4000);
setTimeout(function (){
showCorrect.removeClass('no-background');
showChoice.removeClass('no-background');
showCorrect.removeClass('correct');
showChoice.removeClass('wrong');
}, 5000)
}
function resetSingleChoice(length){
for(var id=0;id<length;id++){
var choice = $('input:radio').attr("checked",false);
var subjectCon = $('.subjectContainer').children('#'+id);
var correctCon = subjectCon.children('.correctContainer');
correctCon.fadeOut(100);
}
}