Ajax Layer JavaScript DHTML


        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


  script.aculo.us Drag and drop functional test file
  
  
  
  
  
    div.box { background: green; width:100px; height:100px }
    div.box-container { background: yellow; width:200px; height:200px }
  


script.aculo.us Drag and drop functional test file


Draggables/Droppables



  Normal box


  snap: 25


  snap: [5,25]


  snap: procedural (e.g. constrain to box)


  
    snap: procedural (e.g. constrain to parent element)
  


  new Draggable('box-normal',{snap:false,revert:true});
  new Draggable('box-grid-numeric',{snap:25,revert:true});
  new Draggable('box-grid-array',{snap:[5,25],revert:true});
  new Draggable('box-grid-procedural',{
    snap: function(x,y) {
      return[
        x<100 ? (x > 0 ? x : 0 ) : 100,
        y<50 ? (y > 0 ? y : 0) : 50];
    },
    revert:true
  });
  new Draggable('box-grid-procedural-gets-draggable',{
    snap: function(x,y,draggable) {
      function constrain(n, lower, upper) {
        if (n > upper) return upper;
        else if (n < lower) return lower;
        else return n;
      }
     
      element_dimensions = Element.getDimensions(draggable.element);
      parent_dimensions = Element.getDimensions(draggable.element.parentNode);
      return[
        constrain(x, 0, parent_dimensions.width - element_dimensions.width),
        constrain(y, 0, parent_dimensions.height - element_dimensions.height)];
    },
    revert:true
  });



           
       
scriptaculous-js-1.6.4.zip( 139 k)