Блок следует за мышкой и получение координат 
		
		
		
		Всем добрый день. Начну с описания задачи которая передомной стоит. 
	Есть картинка, на эту картинку необходимо наносить надпись и отдавать пользователю в виде конечного файла в PDF. Надписи каждый раз разные, но однотипные (имя + небольшой код состоящий из 3-6 символов) Картинка может быть произвольной, пользователь должен указать на шаблоне в каком месте будет ставиться надпись. Далее координаты записываються в базу и вопросы нанесения надписи и выталкивания клиенту ложатся на php Как видится решение. Получение координат на картинке решаю следующим образом. Стиль 
<style type="text/css">
#el{
   position:relative;
   width: 100%; 
  background:#555;
  z-index: 2;
}
</style>
HTML: <img id="el" src='1.png'> JS скрпит 
<script type="text/javascript">
	
var el = document.getElementById('el');
    el.addEventListener('mouseup', getClickXY, false);
function getClickXY(event)
  {
    var clickX = (event.layerX == undefined ? event.offsetX : event.layerX) + 1;
    var clickY = (event.layerY == undefined ? event.offsetY : event.layerY) + 1;
 	
    alert('Координаты отпускания: X= '+ clickX +' Y= '+ clickY);
  }
</script>
Это я на просторах интернета нарыл. В принципе плюс/минус понимаю скрипт. Таким образом я получаю координаты где пользователь отпустит кнопку(можно поставить клик) Вопрос вот в чем... Как прикрепить к курсору прямоугольник не большой, который будет символизировать надпись? Просто для наглядности пользователю, что б он понимал где будет расположена надпись. По отпусканию, что бы этот прямоугольник закрепился на этом месте. По сути мне нужно что б прямоугольник можно было перетянуть на картинке и получить координаты левого нижнего угла этого прямоугольника относительно картинки(она большая в несколько тыс пискелей по ширине и высоте). В идеале эти координаты заносятся в аттрибуты value hidden-полей(x,y) формы и отправляется из нее в скрипт, который эти координаты запишет в базу. Помогите пожалуйста реализовать это.  | 
	
		
 Форму уже сделал - получаю координаты - проблем нет. Теперь мне бы тягать за мышкой прямоугольник (какой нибудь DIV) и по клику его фиксировать на изображении 
	 | 
	
		
  | 
	
		
 Спасибо за ответ... 
	Вобщем включился в основы JS и CSS - сделал так 
<html lang="en">
<head>
<style type="text/css">
#el{
  position:relative;
  width: 100%; 
  background:#555}
 .stamp{
	width:200px;
	height:50px;
	background:#555;
	position: absolute;
	opacity:0.6;
	/*z-index: 2*/
	
}
</style>
</head>
<body>
<img id="el" src='1.png'>
<script type="text/javascript">	
var el = document.getElementById('el');
    el.addEventListener('mouseup', getClickXY, false);
function getClickXY(event)
  {
    var clickX = (event.layerX == undefined ? event.offsetX : event.layerX) + 1;
    var clickY = (event.layerY == undefined ? event.offsetY : event.layerY) + 1;
 	document.getElementById('X').value = clickX;
 	document.getElementById('Y').value = clickY;
	document.getElementById('st').style.top = clickY+'px';
 	document.getElementById('st').style.left = clickX+'px';
    //alert('Координаты отпускания: X= '+ clickX +' Y= '+ clickY);
  }
</script>
<form method="POST" action="">
<input type='hidden' id="X">
<input type='hidden' id="Y">
<div class="stamp" id="st"><center>AA1BB<br />Name Sirname</center></div>
</form>
</body>
</html>
Если есть ошибки критические - поправляйте. Но вроде мои задачи выполняет Нет ошибся я. Позиционирование блока div абсолютное, отсюда ошибка возникает, если сверху над картинкой что-то выводится дополнительно. Как привязать координаты позиционирования к картинке?  | 
	
		
 Продолжая тему)) Вдруг кому нибудь понадобится. Такое решение - полностью выполняет задачу. Конечно можно совершенствовать. Но это уже для профи в JS 
	Может кому-то понадобится такое решение 
<!doctype html>
<html lang="en">
<head>
<style type="text/css">
#el{
  position:relative;
  width: 100%; 
 /* z-index: 2*/
  /*background:#555*/
}
 .stamp{
	width:200px;
	height:40px;
	background:#ddd;
	position: absolute;
	opacity:0.9;
	/*z-index: 2*/
	
}
.stamp2{
	width:200px;
	height:40px;
	background:#ddd;
	position: absolute;
	opacity:0.6;
	/*z-index: 2*/
	
}
 .description{
	width:100%;
	height: 100px;
	border:2px;
}
</style>
</head>
<body>
<div class="description"><form method="POST" action="">
<form action="" method="POST">
<input type='hidden' id="X">
<input type='hidden' id="Y">
<button type="submit"> Указал</button>
</form>
</div>
<img id="el" src='1.png'>
<script type="text/javascript">	
var el = document.getElementById('el');
    el.addEventListener('click', getClickXY, false);
    el.addEventListener('mousemove', moveClickXY, false);
//mouseup
function getClickXY(event)
  {
    var clickX = (event.layerX == undefined ? event.offsetX : event.layerX) + 1;
    var clickY = (event.layerY == undefined ? event.offsetY : event.layerY) + 1;
	document.getElementById('stmove').style.zindex=-1;
 	document.getElementById('X').value = clickX+12;
 	document.getElementById('Y').value = clickY;
	divkoordinateY=clickY+108;
	document.getElementById('st').style.top = divkoordinateY+'px';
 	document.getElementById('st').style.left = clickX+12+'px';
    alert('Координаты установлены' );
  }
function moveClickXY(event)
{
	//document.getElementById('st').style.top = divkoordinateY+'px';
    var clickX = (event.layerX == undefined ? event.offsetX : event.layerX) + 1;
    var clickY = (event.layerY == undefined ? event.offsetY : event.layerY) + 1;
 	divkoordinateY=clickY+108;
	document.getElementById('st').style.zindex =-1;
	document.getElementById('stmove').style.top = divkoordinateY+'px';
 	document.getElementById('stmove').style.left = clickX+12+'px';
}
</script>
<div class="stamp" id="st"><center>AA1BB<br />Name Sirname</center></div>
<div class="stamp2" id="stmove"><center>AA1BB<br />Name Sirname</center></div>
</body>
</html>
 | 
| Часовой пояс GMT +3, время: 05:39. |