#_outerDiv{height:600px;width:100%;border:1px solid black;position:relative;overflow:hidden;
}
functiongetElem (id) {returndocument.getElementById(id); }functiontrimPX (_px) {if(_px==null ||_px=="")return 0;returnparseInt(_px.substr(0, _px.lastIndexOf("px"))); }functionhitInRect (hitX, hitY, rcLeft, rcTop, rcWidth, rcHeight) {return(hitX>=rcLeft&&hitX=rcTop&&hitY
varstartLeft= 0;vardragPosY= 0;vardragPosX= 0; window.addEventListener("load", initPage,false);functioninitPage () { outerDiv().addEventListener("mousedown",//start moving image
function(event) { startTop=trimPX(imageDiv().style.top); startLeft=trimPX(imageDiv().style.left);varwidth=trimPX(imageDiv().style.width);varheight=trimPX(imageDiv().style.height);if(hitInRect(event.clientX, event.clientY, startLeft, startTop, width, height)) { dragging= true; dragPosX=event.clientX; dragPosY=event.clientY; event.preventDefault();//disable default behavior of browser
} },false); outerDiv().addEventListener("mousemove",//moving image
function(event) {if(dragging){ imageDiv().style.cursor="pointer"; imageDiv().style.top=parseInt(startTop)+(event.clientY-dragPosY)+ "px"; imageDiv().style.left=parseInt(startLeft)+(event.clientX-dragPosX)+ "px"; } event.preventDefault(); },false); outerDiv().addEventListener("mouseup",//stop moving image
function(event) { dragging= false; imageDiv().style.cursor="default"; event.preventDefault(); },false); }