javascript - Cannot change value of variable from true to false -


updating now, found out need disable function change while, made var enabled , make functions available if var enabled == true, in end of functions i'm passing enabled = false;, should disable function change();, after first time, still working perfectly. me ?

//this function give me id of images, can make conditions according id var enabled = true;  function pegaid(obj){     var idcorreto = obj.getattribute('id');     return idcorreto; }  if(enabled == true){ function drag(obj){     var zindeximg = 0;     //with var id, detect image being dragged id     var id = obj.getattribute('id');      var img = document.getelementbyid(id);     var imgpositionleft = img.offsetleft;     var imgpositiontop = img.offsettop;          img.ondragstart = function(){             return false;         };          function dropimage(e){             img.style.transition = "";             img.style.zindex = zindeximg++;              //make drag of imgs             img.style.top = e.clienty - imgpositiontop +'px';             img.style.left = e.clientx - imgpositionleft + 'px';              console.log(e.clientx - imgpositionleft);         }  function change(id1,id2,div1,div2){ //this function make change of imgs                     img.removeattribute('style');      //i put imgs , divs kept in these vars     var imgdiv = document.getelementbyid(div1);     var imgdiv_2 = document.getelementbyid(div2);     var imgid = document.getelementbyid(id1);     var imgid2 = document.getelementbyid(id2);      //take id of both imgs     var getid = imgid.getattribute('id');     var getid2 = imgid2.getattribute('id');      //and change id's     imgid.setattribute('id',getid2);     imgid2.setattribute('id',getid);  //and overwrite imgs in divs, making change imgdiv.innerhtml = imgid2.clonenode().outerhtml; imgdiv_2.innerhtml = imgid.clonenode().outerhtml;             }  function drop(e){ //this function drop of img     dropimage(e);     //remove added events document.removeeventlistener('mousemove' ,dropimage);             document.removeeventlistener('mouseup', drop);  //find out image clicked can make right change if(img.style.left >= '90px' && img.style.left <= '130px'){     //take id know image being dragged     if(pegaid(obj) == 'teste1'){          //and make change         change("teste1","teste2","img1","img2");      }else if(pegaid(obj) == 'teste2'){         change("teste2","teste3","img2","img3");                     }  }  if(img.style.left >= '230px' && img.style.left <= '250px'){                 change("teste1","teste3","img1","img3");  } if(img.style.left >= '-115px' && img.style.left <= '-130px'){      if(pegaid(obj) == 'teste3'){         change("teste2","teste3","img2","img3");                                 }     else if(pegaid(obj) == 'teste2'){         change("teste2","teste1","img2","img1");                     }             }  if(img.style.left >= '-225px' && img.style.left <= '-250px'){         change("teste1","teste3","img1","img3");                 }  //reset values after change img.style.left = '0px'; img.style.top = '0px'; }  //add events again when img clicked img.addeventlistener('mousedown', function(){             document.addeventlistener('mousemove', dropimage);             document.addeventlistener('mouseup', drop);         }); }     enabled = false; } 

http://jsfiddle.net/m8vvhf8e/3/

i find out problem was changing id in same function changing images, , bringing trouble function. able fix problem making changing of images in 1 function , change of id in function:

//function change imgs places             function change(id1,id2,div1,div2){                  img.removeattribute('style');                  var imgdiv = document.getelementbyid(div1);                 var imgdiv_2 = document.getelementbyid(div2);                 var imgid = document.getelementbyid(id1);                 var imgid2 = document.getelementbyid(id2);                  imgdiv.innerhtml = imgid2.clonenode().outerhtml;                 imgdiv_2.innerhtml = imgid.clonenode().outerhtml; }  //function change imgs id's             function trocaid(id1,id2){                 var id_1 = document.getelementbyid(id1);                 var id_2 = document.getelementbyid(id2);                      id_1.setattribute('id',id2);                     id_2.setattribute('id',id1);                 }  //making changes              if(img.style.left >= '250px' && img.style.left <= '290px'){                 if(pegaid(obj) == 'teste1'){                     change("teste1","teste2","img1","img2");                     trocaid("teste1","teste2");                 }else if(pegaid(obj) == 'teste2'){                     change("teste2","teste3","img2","img3");                     trocaid("teste2","teste3");                 } 

http://jsfiddle.net/v1u1xnwj/10/


Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -