Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.10.2021, 16:07
Новичок на форуме
Отправить личное сообщение для mxmodx Посмотреть профиль Найти все сообщения от mxmodx
 
Регистрация: 12.10.2021
Сообщений: 3

Перетаскивание элемента в пределах родительского
Здравствуйте. Сделал перетаскивание элемента, но он почему-то перетаскивается за пределы родительского, хотя по логике не должен, т.к onmousemove указан на родительский элемент. Подскажите кто-нибудь, как можно решить эту проблему?
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style17.css">
<title>Перетаскивание мышью</title>
</head>
<body>
<div class="first2"></div>
<div class="first"><img src="image.jpg" width="200" height="200" id="one"></div>
<br>
<script src="script17.js"></script>
</body>
</head>


CSS: .first {
width:1000px;
height:600px;
background-color:red;
}
#one {
width:200px;
height:200px;
background-color:black;
position:absolute;
}

let a=document.querySelector(".first");
let b=document.querySelector("#one");   
let c=document.querySelector(".first2");
b.onmousedown=move;
function move(r) {
    console.log("нажатие");
    b.style.left=r.pageX-b.offsetWidth /2+"px";
    b.style.top=r.pageY-b.offsetHeight /2+"px";
    a.onmousemove=function (e) {    
    c.innerHTML=e.pageX + " " +e.pageY; 
    b.style.left=e.pageX-b.offsetWidth /2+"px";
    b.style.top=e.pageY-b.offsetHeight /2+"px"; 
        }   
    b.onmouseup=move2;
}
 
function move2() {
    console.log("отпускание");
    a.onmousemove=null;
    b.onmouseup = null;
}
 
b.ondragstart = function() {
  return false;
};
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2021, 17:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

mxmodx,
https://javascript.ru/forum/dom-wind...tml#post504886
Ответить с цитированием
  #3 (permalink)  
Старый 12.10.2021, 18:09
Новичок на форуме
Отправить личное сообщение для mxmodx Посмотреть профиль Найти все сообщения от mxmodx
 
Регистрация: 12.10.2021
Сообщений: 3

Сообщение от рони Посмотреть сообщение
mxmodx,
https://javascript.ru/forum/dom-wind...tml#post504886
Нужно без прокрутки это сделать.
Ответить с цитированием
  #4 (permalink)  
Старый 12.10.2021, 19:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

mxmodx,
Вариант с ограничением перемещения
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, чтобы текст не усекался в пределах родительского элемента? Lun2 Элементы интерфейса 11 14.08.2020 18:31
Изменить класс родительского элемента STyLe Общие вопросы Javascript 1 29.05.2014 20:21
Ширина родительского элемента svs_js jQuery 1 31.10.2012 15:53
Убрать наследование return false от родительского элемента GBelka jQuery 7 02.09.2012 09:51
Изменение стиля родительского элемента при :hover дочернего lanzs Элементы интерфейса 2 16.10.2010 13:28