Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 20.07.2016, 19:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

DivMan,
<!DOCTYPE html>
<html>

  <head>
<style type="text/css">
.con{
      position: absolute;
      width: 100px;
      height: 100px;
      background: green;
    }

</style>
    <meta charset="utf-8">
  </head>

  <body>

<button id="btn">Создать div</button>
  <script>var div2 = document.querySelector('.con')

function div(){
    var div = document.createElement('div');
    div.style.width='100px';
    div.style.height='100px';
    div.style.backgroundColor="green";
    div.setAttribute('class', 'con');
    document.body.insertBefore(div, document.body.firstChild);
div.addEventListener('mousedown', mDown);
    div.addEventListener('mouseup', mUp);
  }


  btn.onclick = div



  var activeElement;
  var offsetX = 0;
  var offsetY = 0;
  var con = document.querySelector('.con');


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

  var mUp = function(e){
    console.log('Отпустили кнопку мыши')
    activeElement = null
  }



  var mMove = function(e){
    //console.log('Двигаем курсор', e)
    if(activeElement) {//если элемент есть, то есть на него нажали...
      activeElement.style.top = (e.clientY - offsetY) + 'px'
      //установить координату элементу top на текущее положение мышки
      //минус смещение
      //top от начала экрана до начала объекта
      activeElement.style.left = (e.clientX - offsetX) + 'px'
    }
  }
 /*
  if(div2.classList.contains("con")){
    alert('Блок создался')
  }



  con.addEventListener('mousedown', mDown);
  con.addEventListener('mouseup', mUp);*/
  document.addEventListener('mousemove', mMove);


</script>
  </body>

</html>
Ответить с цитированием
  #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;
Ответить с цитированием
  #13 (permalink)  
Старый 20.07.2016, 20:01
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

рони,
Сотона опередил )))
Ответить с цитированием
  #14 (permalink)  
Старый 20.07.2016, 20:10
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Получилось спасибо))

Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
drag & drop как в vk.com zerofx Элементы интерфейса 7 31.07.2015 21:02
ищу Drag & drop плагин для построения плана помещения Den Brown Элементы интерфейса 0 31.07.2015 19:23
drag & drop , html 5 cyber Events/DOM/Window 1 30.06.2012 15:16
Разбираюсь с drag and drop uaNikita Events/DOM/Window 4 22.09.2011 11:25
Drag & Drop с несколькими элементами Katz Общие вопросы Javascript 1 29.07.2011 13:01