Javascript.RU

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

Странные события с mouseup
Всем привет, делаю сейчас проект с Кубом. Вообщем ты нажимаешь на куб, в разные стороны водишь и в зависимости от этого там меняется фон. Но есть одна ПРОБЛЕМА, которую не могу решить, так как очень мало опыта. При отпускании мыши куб привязывается к мыши и ты ее водишь без нажатия, а куб за ней.
Вот код js:
(function () {

//mousedown
var rotateY = 0,
rotateX = 0;
var body = document.querySelector('body');
var pageY = 0;
var pageX = 0;

body.onmousedown =function(){
body.onmousemove = function(event){

if (pageY) {
if (event.pageY > pageY) {
rotateY -= 0.7;

}
else if (event.pageY < pageY) {
rotateY += 0.7;
}
}
if(pageX){
if(event.pageX >pageX){
rotateX += 0.7;
}
else if(event.pageX <pageX){
rotateX -= 0.7;
}
}
pageY = event.pageY;
pageX = event.pageX;
document.querySelector('.cube').style.transform =
'rotateY(' + rotateX + 'deg)'+
'rotateX(' + rotateY + 'deg)';

if(rotateY>37){
document.body.style. backgroundImage = "url('https://img5.goodfon.ru/wallpaper/nbig/5/18/chiornyi-fon-tiom..')";
}

if(rotateY<-37){
document.body.style. backgroundImage = "url('https://data2.1freewallpapers.com/download/sparks-optical-ill..')";
}
if(rotateX>37){
document.body.style. backgroundImage = "url('https://i.ytimg.com/vi/M-gs-5_irOs/hqdefault.jpg')";
}

if(rotateX<-37){
document.body.style. backgroundImage = "url('https://zastavok.net/main/raznoe/158348868486.jpg')";
}

}

}
body.onmouseup =function(){
body.onmousemove = function(event){
pageY = event.pageY;
pageX = event.pageX;
}
}

})();
Помогите Плиз)
Ответить с цитированием
  #2 (permalink)  
Старый 17.08.2020, 12:26
Новичок на форуме
Отправить личное сообщение для Kramarenkoff Посмотреть профиль Найти все сообщения от Kramarenkoff
 
Регистрация: 17.08.2020
Сообщений: 3

Воу, в итоге я сам нашел ответ тут https://learn.javascript.ru/mouse-drag-and-drop.
Оказалось что гугл имеет свой Drag'n'Drop и начинает рамсы делать с нашим. Просто вставляете ball.ondragstart = function() {
return false;
}; и все у вас будет хорошо!
Ответить с цитированием
  #3 (permalink)  
Старый 17.08.2020, 19:38
Новичок на форуме
Отправить личное сообщение для Kramarenkoff Посмотреть профиль Найти все сообщения от Kramarenkoff
 
Регистрация: 17.08.2020
Сообщений: 3

Ответ был найден, НО пропала лишь часть бага. Теперь когда крутишь обьект, то при заход мышки за экран обьект опять прилипает к мышке((((
На сколько я понял это можно исправить событием window.onmousemove, но пока не нашел ничего подходящего
#js #javascript #onmousemove #Drag'n'Drop
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
свойства объекта события Morr123 Элементы интерфейса 4 10.08.2016 06:36
Остановка события AciDWarrioR Events/DOM/Window 1 24.11.2015 10:32
Обработка события внутри события grifangel Общие вопросы Javascript 6 04.09.2014 12:34
Дебаг js, или как найти обработчик события для тега jimm88 Events/DOM/Window 1 18.04.2012 15:11
Передача параметров в колбэки и дальнейшее их вешанье на события. Gremlin Общие вопросы Javascript 17 13.08.2011 08:54