Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > событие джижение курсора при нажатой мыши


Автор: Mikron 2.2.2016, 15:05
Добрый день
Хочу сделать слайдер, где картинки бы сменялись движением зажатой левой клавиши мыши, но как сделать обработчик этого?

Код

$(document).ready(function(){
    var isDown = false;
    $('.my-slider').mousedown(function(){
        isDown = true;            
    });
    $('.my-slider').mouseup(function(){
        isDown = false;
    });
    $('.my-slider').mousemove(function(){
        if(isDown){
            console.log('nazkal');
        }
        else{
            console.log('otpustil');
        }
    });
});

Когда левая клавиша мыши нажата над картинкой, mousemove не срабатывает, в браузере я сдвигаю как бы копию картинки)

извините за недостаток описания, по функционалу вот такой слайдер 
http://www.vogue.ru/fashion/trends/15_glavnykh_tendentsiy_vesny_leta_2016_goda/

Спасибо

Автор: ksnk 2.2.2016, 19:07
"копия картинки" сдвигается стандартным обработчиком mousemove. Чтобы отключить стандартные - нужно заканчивать функцию  return false,.
Если бы это было не jquery - нужно было бы еще плясать на тему cancelBubble и preventDefault, хотя знакомство с такими вещами не помешает и так.
Обычно, mousemove выставляется не сразу, а по mousedown. Причем на все рабочее поле - на document. По mouseup этот обработчик снимается, чтобы не тормозить работу.
Если вкратце - то это и все. 

Автор: Envy 4.2.2016, 13:23
http://www.w3schools.com/jsref/event_ondrag.asp

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/sobytiye-dzhizheniye-kursora-pri-nazhatoy-myshi-id56b09bacae2015ad108b4567#findElement_E7045_56b32687ae2015222af19a4c_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)