Есть такой код:
$this.Move = false;
Block.mousedown(function (e) {
$this.Move = false;
let target =$(e.target);
if (target.is(Block) || target.closest(Block).length > 0) {
console.log('start moved');
Block.attr('data-move', true);
let pOffset = $(e.target).closest(Block).offset();
localStorage.setItem('relOX', Math.round(e.pageX - pOffset.left));
localStorage.setItem('relOY', Math.round(e.pageY - pOffset.top));
}
});
Block.mouseup(function (e) {
if($this.Move) {
console.log('pin');
if(Block.attr('data-move').bool()) {
Block.attr('data-move', false);
Block.attr('data-moved', false);
let pWidth = $('body').innerWidth();
let pMiddle = pWidth / 2;
let pHeight = $('body').innerHeight();
let pos = JSON.parse(localStorage.getItem('online-icon-pos'));
if (pos.x < pMiddle) {
Block.css({'top': pos.y, 'left': (pos.x = 0)});
} else if (pos.x > pMiddle) {
Block.css({'top': pos.y, 'left': (pos.x = (pWidth - Number(openChat.outerWidth(true))))});
} else {
Block.css({'top': pos.y, 'left': (pos.x = 0)});
}
localStorage.setItem('online-icon-pos', JSON.stringify({y: pos.y, x: pos.x}));
}
} else {
console.log('open');
Block.attr('data-move', false);
Block.attr('data-moved', false);
$(this).fadeOut(200, function () {
block.fadeIn(200, function () {
$(this).animate({
right: 0
}, 200);
});
});
}
$this.Move = false;
});
$(document).mousemove(function (e) {
//if(!$this.Move) return;
if(Block.attr('data-move').bool()) {
$this.Move = true;
let relX = Number(localStorage.getItem('relOX'));
let relY = Number(localStorage.getItem('relOY'));
let y = e.pageY - relY;
let x = e.pageX - relX;
localStorage.setItem('online-icon-pos', JSON.stringify({y: y, x: x}));
Block.css({'top': y, 'left': x});
Block.attr('data-moved', true);
}
});
Block
- элемент по которому кликают или перемешают.
block
- элемент который должен открыться при клике на Block
Проблема в том что простой клик не отрабатывает. Перемещение работает, а если просто нажать то нет. Консоль выведет: start move
и при отпускании pin
.
Что не так в коде?
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Необходимо для Chromium установить обработчик протокола tel
Есть поле ввода и ссылкаЕсли условие не выполнено, то ссылка должна отключаться и изменяется текст
Здравствуйте, помогите составить регуляркуЕсть строка, если в строке например есть 453|571 то взять все что до " " (пробела)