Web Images Videos Maps News Shopping Gmail more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Group info
Members: 4714
Language: English
Group categories: Not categorized
More group info »
Recent pages and files
dragndrop-demo    

<html><head>
<style type="text/css" media="s
creen">@import "images/test.css";</style>
<script src="images/prototype.js" language="javascript" type="text/javascript"></script>
<script src="images/scriptaculous.js" language="javascript" type="text/javascript"></script>
<script src="images/controls.js" language="javascript" type="text/javascript"></script>
<script src="images/effects.js" language="javascript" type="text/javascript"></script>
<script src="images/dragdrop.js" language="javascript" type="text/javascript"></script>
</head>
<body onload="setup()">
<div id="drag" class="drag">Hello</div>
<div id="box">
  <div id="drop1" class="drop"></div><div id="drop2" class="drop"></div><div id="drop3" class="drop"></div>
  <div id="drop4" class="drop"></div><div id="drop5" class="drop"></div><div id="drop6" class="drop"></div>
</div>
</body>
<script language="javascript" type="text/javascript">
var drag4Drop = new Array();
function setup(){
  positionTable();
  createDrag();
}
function createDrag(){
  var dragElement = document.getElementById('drag');
  var theEl = new Array();
  for(var i = 0; i < 6; ++i)
    theEl[i] = document.getElementById('drop' + (i+1));
  var dragObj = new Draggable(dragElement.id,{revert:true,ghosting:true});
  for(var i = 0; i < 6; ++i){
  Droppables.add(theEl[i].id, {accept:['drag','hasData','drop'], hoverclass:'over', onDrop:
          function(element1, element2){//element1 - drag; element2 - drop
            if(element1.className == "drag"){
              element2.innerText = element1.innerText;
              for(var i = 0; i < 6; ++i)
                if(element2.id==("drop" + (i+1)))
                  drag4Drop[i] = new Draggable(element2.id,{revert:true,ghosting:true});
              hasDataChangeStyle(element2);
            }
            else if(element1.className == "hasData"){
              if(element2.innerText==""){
                for(var j = 0; j < 6; ++j){
                  if(element1.id == ("drop" + (j+1)))
                    drag4Drop[j].destroy();
                  if(element2.id == ("drop" + (j+1)))
                    drag4Drop[0] = new Draggable(element2.id,{revert:true,ghosting:true});
                 }
                element2.innerText = element1.innerText;
                element1.innerText = "";
                hasNoDataChangeStyle(element1);
                hasDataChangeStyle(element2);
              }
              else{
                var temp = element1.innerText;
                element1.innerText = element2.innerText;
                element2.innerText = temp;
              }
            }
          }});
    }
    Droppables.add(dragElement.id,{accept:['hasData'],onDrop:
          function(element1, element2){
            element1.innerText = "";
            for(var i = 0; i < 6; ++i)
              if(element1.id == ("drop" + (i+1)))
                drag4Drop[i].destroy();
            hasNoDataChangeStyle(element1);}});
}
function hasDataChangeStyle(element){element.className = "hasData";}
function hasNoDataChangeStyle(element){element.className = "drop";}
function positionTable(){
  var element;
  for(var i = 0; i < 6; ++i){
    element = document.getElementById("drop" + (i+1));
    if(i < 3)
      element.style.top = 5 + 5*i - 55*i + "px";
    else
      element.style.top = 5 + 5*i - 55*i + 55 + "px";
    element.style.left = (((i)%3))*55 + 5 + "px";
  }
}
</script>
</html>

Version: 
Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google