SoFunction
Updated on 2025-04-13

Study Day 5 - Drag and drop Darg & Drop


var correct = { opt0:"ans1", opt1:"ans2", opt2:"ans0"}        // Correct answer
var answer  = { opt0:"tmp0", opt1:"tmp1", opt2:"tmp2"}     // Answer

// Pick up
function mark(event) 

    var points = 0;     //   
    var max = 3;        //   

    for (key in correct) { 
        points += correct[key] == answer[key] ? 1: 0; 
    } 
    var score = (points / max * 100); 
    var result = ("result"); 
= (score > 70? "Certified": "Failed") +":" + score +"%";


// Initialization
function init(event) 


var dropzone = [ "ans0", "ans1", "ans2",                                              �
"tmp0", "tmp1", "tmp2"];
    for (id in dropzone) { 
        new (dropzone[id]); 
    } 

     
var draggable = [ "opt0", "opt1", "opt2"];                                                  �

    Draggable = function(id, sGroup) { 
        (id, sGroup); 
    } 

     = new (); 

     = function(draggable, dropzone) { 
        if ((/^opt[012]$/)) { 
            return false;            
        } 
        for (key in answer) { 
            if (answer[key] == ) { 
                return false;      
            } 
        } 
        return true; 
    } 

     = function(x, y) { 
        ((), "opacity", 0.5); 
    } 

     = function(e, id) { 
        var dropzone = (id); 
        var draggable = (); 
        if ((draggable, dropzone)) { 
             = "orange"; 
        } 
    } 

     = function(e, id) { 
        var dropzone = (id); 
         = "white"; 
    } 

     = function(e, id) { 
        var dropzone = (id); 
        var draggable = (); 
        if ((draggable, dropzone)) { 
             = "white"; 
            (draggable); 
answer[]= ;
        } 
    } 

     = function(e) { 
        var draggable = (); 
        (draggable, "opacity", 1.0); 
         = "0px"; 
          = "0px"; 
    } 

    for (id in draggable) { 
        new Draggable(draggable[id]); 
    } 

// The binding button triggers the event and calculates the score
    ("submit", "click", mark); 


(window, "load", init);