更多操作
无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
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">重置答题状态</button>').prependTo(subjectCon) | $('<button id="singleChoiceReset">重置答题状态</button>').prependTo(subjectCon) | ||
$('#singleChoiceReset').bind("click",function (){ | $('#singleChoiceReset').bind("click",function (){ | ||
reset(dataLength,"A") | |||
}) | }) | ||
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==' | if(jsonData.type=='A'){ | ||
typeAModule(i) | |||
typeAChoice(jsonData,i) | |||
} | } | ||
} | } | ||
} | } | ||
function | function typeAChoice(json,id){ | ||
var subjectCon = $(' | var subjectCon = $('#subjectContainer-A').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') | ||
var char = ['A: ','B: ','C: ','D: ','E: ',] | var char = ['A: ','B: ','C: ','D: ','E: ',] | ||
var i = 0 | var i = 0 | ||
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+'" />'+char[i]+json.choices[key]+'</label>' | var label = '<label id="'+key+'"><input name="singelChoice-'+id+'" type="radio" value="'+key+'" />'+char[i]+json.choices[key]+'</label>' | ||
answers.append(label) | answers.append(label) | ||
} | } | ||
i+=1 | i+=1 | ||
} | } | ||
} | } | ||
function | function typeAModule(id){ | ||
var main = $('<div id="'+id+'"></div>') | var main = $('<div id="'+id+'"></div>') | ||
var subject = $('<div class="subject">' + | var subject = $('<div class="subject">' + | ||
'<div class="titleContainer"><p class="source"></p><p class="title"></p></div>' + | '<div class="titleContainer"><p class="source"></p><p class="title"></p></div>' + | ||
'<div class="answers"></div></div>').appendTo(main) | '<div class="answers"></div></div>').appendTo(main) | ||
var showButton = $('<button id="showSingle-'+id+'" class="showSingleBtn">提交</button>').appendTo(main) | var showButton = $('<button id="showSingle-'+id+'" class="showSingleBtn">提交</button>').appendTo(main) | ||
var correctCon = $('<div id="correctContainer" class="correctContainer noDisplay">' + | var correctCon = $('<div id="correctContainer" class="correctContainer noDisplay">' + | ||
' <p style="display:inline;"><b>正确答案:</b></p>\n' + | ' <p style="display:inline;"><b>正确答案:</b></p>\n' + | ||
' <p class="correctAnswer"></p><br><p><b>解析: </b></p>\n' + | ' <p class="correctAnswer"></p><br><p><b>解析: </b></p>\n' + | ||
' <p class="explain"></p></div><hr>').appendTo(main) | ' <p class="explain"></p></div><hr>').appendTo(main) | ||
main.appendTo($(' | main.appendTo($('#subjectContainer-A')) | ||
$("#showSingle-"+id).bind("click",function (){ | $("#showSingle-"+id).bind("click",function (){ | ||
showAnswer(id) | showAnswer(id,'A') | ||
}) | }) | ||
} | } | ||
function removeBackground(obj){ | function removeBackground(obj){ | ||
obj.addClass('no-background') | obj.addClass('no-background') | ||
} | } | ||
function showAnswer(id){ | function showAnswer(id,type){ | ||
var subjectCon = $(' | var subjectCon = $('#subjectContainer-'+type).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) | ||
var btn = $('#showSingle-'+id).addClass('noDisplay') | var btn = $('#showSingle-'+id).addClass('noDisplay') | ||
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 | function reset(length,type){ | ||
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 = $(' | var subjectCon = $('#subjectContainer-'+type).children('#'+id) | ||
var correctCon = subjectCon.children('.correctContainer') | var correctCon = subjectCon.children('.correctContainer') | ||
var btn = $('#showSingle-'+id).removeClass('noDisplay') | var btn = $('#showSingle-'+id).removeClass('noDisplay') | ||
correctCon.fadeOut(100) | correctCon.fadeOut(100) | ||
} | } | ||
} | } |
2022年2月28日 (一) 06:26的版本
function getdata(){
var data = $('.data')
var dataLength = data.length
var subjectCon = $('.subjectContainer')
console.log(data)
$('<button id="singleChoiceReset">重置答题状态</button>').prependTo(subjectCon)
$('#singleChoiceReset').bind("click",function (){
reset(dataLength,"A")
})
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=='A'){
typeAModule(i)
typeAChoice(jsonData,i)
}
}
}
function typeAChoice(json,id){
var subjectCon = $('#subjectContainer-A').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')
var char = ['A: ','B: ','C: ','D: ','E: ',]
var i = 0
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+'" />'+char[i]+json.choices[key]+'</label>'
answers.append(label)
}
i+=1
}
}
function typeAModule(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+'" class="showSingleBtn">提交</button>').appendTo(main)
var correctCon = $('<div id="correctContainer" class="correctContainer noDisplay">' +
' <p style="display:inline;"><b>正确答案:</b></p>\n' +
' <p class="correctAnswer"></p><br><p><b>解析: </b></p>\n' +
' <p class="explain"></p></div><hr>').appendTo(main)
main.appendTo($('#subjectContainer-A'))
$("#showSingle-"+id).bind("click",function (){
showAnswer(id,'A')
})
}
function removeBackground(obj){
obj.addClass('no-background')
}
function showAnswer(id,type){
var subjectCon = $('#subjectContainer-'+type).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)
var btn = $('#showSingle-'+id).addClass('noDisplay')
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 reset(length,type){
for(var id=0;id<length;id++){
var choice = $('input:radio').attr("checked",false)
var subjectCon = $('#subjectContainer-'+type).children('#'+id)
var correctCon = subjectCon.children('.correctContainer')
var btn = $('#showSingle-'+id).removeClass('noDisplay')
correctCon.fadeOut(100)
}
}
setTimeout(function (){
getdata();
},0);