me encontre con esto en la WEB http://www.dynamicdrive.com/forums/archive/index.php/t-24330.html

me funciona en todos los navegadores pero en Chrome NO.... por que??? :oops: :oops: :oops:

Código :


<script language="javascript">

/**************************************************
 * dom-drag.js
 * 09.25.2001
 * www.youngpup.net
 **************************************************
 * 10.28.2001 - fixed minor bug where events
 * sometimes fired off the handle, not the root.
 **************************************************/

var Drag = {

   obj : null,

   init : function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
   {
      o.onmousedown   = Drag.start;

      o.hmode         = bSwapHorzRef ? false : true ;
      o.vmode         = bSwapVertRef ? false : true ;

      o.root = oRoot && oRoot != null ? oRoot : o ;

      if (o.hmode  && isNaN(parseInt(o.root.style.left  ))) o.root.style.left   = "0px";
      if (o.vmode  && isNaN(parseInt(o.root.style.top   ))) o.root.style.top    = "0px";
      if (!o.hmode && isNaN(parseInt(o.root.style.right ))) o.root.style.right  = "0px";
      if (!o.vmode && isNaN(parseInt(o.root.style.bottom))) o.root.style.bottom = "0px";

      o.minX   = typeof minX != 'undefined' ? minX : null;
      o.minY   = typeof minY != 'undefined' ? minY : null;
      o.maxX   = typeof maxX != 'undefined' ? maxX : null;
      o.maxY   = typeof maxY != 'undefined' ? maxY : null;

      o.xMapper = fXMapper ? fXMapper : null;
      o.yMapper = fYMapper ? fYMapper : null;

      o.root.onDragStart   = new Function();
      o.root.onDragEnd   = new Function();
      o.root.onDrag      = new Function();
   },

   start : function(e)
   {
      var o = Drag.obj = this;
      e = Drag.fixE(e);
      var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
      var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
      o.root.onDragStart(x, y);

      o.lastMouseX   = e.clientX;
      o.lastMouseY   = e.clientY;

      if (o.hmode) {
         if (o.minX != null)   o.minMouseX   = e.clientX - x + o.minX;
         if (o.maxX != null)   o.maxMouseX   = o.minMouseX + o.maxX - o.minX;
      } else {
         if (o.minX != null) o.maxMouseX = -o.minX + e.clientX + x;
         if (o.maxX != null) o.minMouseX = -o.maxX + e.clientX + x;
      }

      if (o.vmode) {
         if (o.minY != null)   o.minMouseY   = e.clientY - y + o.minY;
         if (o.maxY != null)   o.maxMouseY   = o.minMouseY + o.maxY - o.minY;
      } else {
         if (o.minY != null) o.maxMouseY = -o.minY + e.clientY + y;
         if (o.maxY != null) o.minMouseY = -o.maxY + e.clientY + y;
      }

      document.onmousemove   = Drag.drag;
      document.onmouseup      = Drag.end;

      return false;
   },

   drag : function(e)
   {
      e = Drag.fixE(e);
      var o = Drag.obj;

      var ey   = e.clientY;
      var ex   = e.clientX;
      var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
      var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
      var nx, ny;

      if (o.minX != null) ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
      if (o.maxX != null) ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);
      if (o.minY != null) ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);
      if (o.maxY != null) ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);

      nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
      ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));

      if (o.xMapper)      nx = o.xMapper(y)
      else if (o.yMapper)   ny = o.yMapper(x)

      Drag.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
      Drag.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
      Drag.obj.lastMouseX   = ex;
      Drag.obj.lastMouseY   = ey;

      Drag.obj.root.onDrag(nx, ny);
      return false;
   },

   end : function()
   {
      document.onmousemove = null;
      document.onmouseup   = null;
      Drag.obj.root.onDragEnd(   parseInt(Drag.obj.root.style[Drag.obj.hmode ? "left" : "right"]), 
                           parseInt(Drag.obj.root.style[Drag.obj.vmode ? "top" : "bottom"]));
      Drag.obj = null;
   },

   fixE : function(e)
   {
      if (typeof e == 'undefined') e = window.event;
      if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
      if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
      return e;
   }
};

</script>


<div id="mydiv" style="position: relative; width: 100px; height: 100px; background-color: lightyellow; border: 1px solid black; padding: 3px; z-index: 100">
Drag me!
</div>

<script type="text/javascript">
var mydiv=document.getElementById("mydiv")
Drag.init(mydiv)
mydiv.onDragEnd=function(x, y){
setCookie("mydiv", x+"||"+y, 30)
}

if (getCookie("mydiv")!=""){
var mydivcookie=getCookie("mydiv").split("||")
document.getElementById("mydiv").style.left=parseInt(mydivcookie[0])+"px"
document.getElementById("mydiv").style.top=parseInt(mydivcookie[1])+"px"
}

function getCookie(Name){
var re=new RegExp(Name+"=[^;]+", "i"); 
if (document.cookie.match(re)) 
return document.cookie.match(re)[0].split("=")[1]
return ""
}

function setCookie(name, value, days){
var expireDate = new Date()
var expstring=expireDate.setDate(expireDate.getDate()+parseInt(days))
document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/"
}

</script>




GRacias :D :D :D :D :D