кода уже нет, поэтому взял то что писали вверху, пока писал понял где ошибся
может кому понадобится
<div id=test>
<img src="picture.jpg" onmousedown='ob=this;move()'>
</div>
<style>
#test {
position: relative;
overflow:hidden;
width: 200px;
height: 200px;
border:solid red
}
#test img {
position:absolute;
}
</style>
<script>
var ob,flag=false//ссылка на картинку;начинает и прекращает перемещение
var mx,my//координаты мыши отн.в.п.угла картинки
function move(){
//задание обработчиков событий
ob.offsetParent.onmouseout=function(){flag=false}//выход за границы test
ob.onmouseup=function(){flag=false}//отпускание кнопки
ob.ondragstart=function(){return false}//отмена открытия окна
ob.onmousemove=function(){
if(!flag)return//холостой ход
ob.style.left=event.clientX-mx//перемещение
ob.style.top=event.clientY-my
}
with(ob.offsetParent){//test-объект по умолчанию
//т.к.отсчет от<div>(плавающий),а не от угла окна,прибав. эту разность
mx=event.offsetX+offsetLeft+clientLeft
my=event.offsetY+offsetTop+clientTop
}
flag=true//разрешить перемещение
}
</script>
буду рад выслушать замечания