Advertisement
Guest User

drag.js

a guest
Jul 5th, 2016
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var dragobj;
  2. var solution;
  3. var origtxt;
  4. var active=false;
  5. var currobj;
  6. var mixtxt;
  7. var con_arr=new Array();
  8. var amount;
  9. var posx;
  10. var width;
  11. var startobj;
  12. var active_parent;
  13. var dragpoint;
  14.  
  15. //initialize script
  16. function start(){
  17.     $("#correct").css("visibility","hidden");
  18.  
  19. //fetch text elements from content
  20.  
  21. //extract gaps
  22. var tmparr=new Array();
  23. tmparr=content.split("#");
  24. var mytemp=tmparr.length;
  25. mixtxt = new Array();
  26. for (i=0;i<mytemp;i=i+2){
  27.     con_arr.push(tmparr[i]);
  28.     mixtxt.push(tmparr[i+1]);
  29. }
  30.  
  31. //avoid select
  32. var element = document.getElementById("container");  
  33.  element.onselectstart = function () { return false; } // ie  
  34.  element.onmousedown = function () { return false; } // moz
  35.  
  36.  
  37. mixtxt.pop();
  38.  
  39. amount=mixtxt.length;
  40.  
  41. //mix words
  42. for (i=0;i<amount;i++){
  43.  
  44.     var my_string=mixtxt[i];
  45.     var my_arr=new Array();
  46.     my_arr=my_string.split("*");
  47.     solution=my_arr.join(" ");
  48.     my_arr.sort();
  49.     my_string=my_arr.join("</span> <span class='drag'>");
  50.     my_string="<span class='puzzle noScroll' data-info='"+solution+"'><span class='drag'>"+my_string+"</span><span  class='exclamation' data-info='"+solution+"'>!</span></span>";
  51.  
  52. mixtxt[i]=my_string;
  53. //console.log(mixtxt[i]);
  54. }
  55.  
  56. //enter text
  57. var txt_content="";
  58.  
  59. for (i=0;i<amount;i++){
  60. var my_str=con_arr[i];
  61. my_str=my_str.substr(0,my_str.length-1);
  62.     txt_content=txt_content+my_str+mixtxt[i];
  63.        
  64. }
  65.  
  66. txt_content=txt_content+con_arr[con_arr.length-1];
  67.  
  68. $("#container").html(txt_content);
  69. $(".drag").draggable({ appendTo: "body", axis: "x",  revert: "invalid", helper: "clone", zIndex: 200});
  70.  
  71.  
  72. $( ".drag" ).on( "dragstart", function( event, ui ) {
  73.      active=true;
  74.      
  75.    $("#correct").css("visibility","hidden");
  76.    drag_obj=$(this);
  77.    startobj=$(this);
  78.    $(drag_obj).addClass("blue");
  79.    origtxt=$(this).text();
  80.  
  81.     posx=$(this).offset().left;
  82.     breite=$(this).width();
  83.     $(this).addClass("neuklasse");
  84.     $(this).parent().addClass("active");
  85.     active_parent=$(this).parent();
  86.    
  87. });
  88.  
  89.  
  90. $(".drag").on( "drag", function( event, ui ) {
  91.    
  92.     drag_point=$(ui.helper).offset().left;
  93.     $(ui.helper).css("visibility","hidden");
  94.     posx=drag_point;
  95.    
  96. });
  97.  
  98. $( ".drag" ).droppable({ accept: ".drag" });
  99.  
  100. $( ".drag" ).on( "dropover", function( event, ui ) {
  101. if ($(this).parent().hasClass("active")){
  102. var mytxt=$(this).text();
  103. $(this).text(origtxt);
  104. $(drag_obj).text(mytxt);   
  105. $(drag_obj).removeClass("blue");
  106. $(this).addClass("blue");
  107. drag_obj=$(this);
  108. }
  109.  
  110.    
  111.     });
  112.    
  113.  
  114. $(".drag").bind( "dragstop",function(e) {
  115.     $(active_parent).removeClass("active");
  116.    currobj=$(e.target).text();
  117.    $(drag_obj).removeClass("blue");
  118.     var tmploes=$(e.target).parent(this).data("info")+"!";
  119.  
  120.    correct = $(e.target).parent(this).text()==tmploes;
  121.  
  122. });
  123.  
  124.  
  125.  
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement