Показать сообщение отдельно
  #5 (permalink)  
Старый 01.06.2009, 17:30
egg egg вне форума
Интересующийся
Отправить личное сообщение для egg Посмотреть профиль Найти все сообщения от egg
 
Регистрация: 29.05.2009
Сообщений: 19

кода уже нет, поэтому взял то что писали вверху, пока писал понял где ошибся
может кому понадобится
<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>

буду рад выслушать замечания