Показать сообщение отдельно
  #12 (permalink)  
Старый 20.07.2016, 19:57
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Ебалайтен блин, все работает, вот так делается, то есть все что надо заранее определить - определяется, а потом уже выполняется.

var con=null,

activeElement,
offsetX = 0,
offsetY = 0,

mDown = function(e){
	console.log('Нажали кнопку мыши',e)
	activeElement = e.target;
	offsetX = e.offsetX
	offsetY = e.offsetY
},	
	
mUp = function(e){
	console.log('Отпустили кнопку мыши')
	activeElement = null
},	


mMove = function(e){

	if(activeElement) {
		activeElement.style.top = (e.clientY - offsetY) + 'px'
		activeElement.style.left = (e.clientX - offsetX) + 'px'
	}
};	


function div(){
	con=mk_div('con');
	con.addEventListener('mousedown', mDown);
	con.addEventListener('mouseup', mUp);
	document.addEventListener('mousemove', mMove);
}

function mk_div(rule){
	var div = document.createElement('div'),
	style=div.style;
	style.width='100px';
	style.height='100px';
	style.backgroundColor="green";
	div.className=rule;
	return document.body.insertBefore(div, document.body.firstChild)
}

btn.onclick = div;
Ответить с цитированием