打开/关闭菜单
Toggle preferences menu
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

MediaWiki:Gadget-tikuRenderModule.js:修订间差异

MediaWiki界面页面
无编辑摘要
无编辑摘要
第1行: 第1行:
$(window).load(function(){
console.log("as6564644")
    getdata()
})
getdata()
getdata()
$('#btn').bind("myClick", function(){ 
console.log("as6564644")
getdata()
});
$('#btn').trigger("myClick");
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);
    }
}