11
votes

Poignée Cliquez et faites glisser le mouvement pour faire défiler horizontalement avec des mousseuses ou des jQuery

Y a-t-il un moyen facile de gérer l'événement de mouvement composé de clic et de glisser vers la gauche ou à droite sur un div, afin de faire un curseur classique.
L'idée est de faire quelque chose de similaire à la défilation des applications iPhone mais avec le clic gauche de la souris.


1 commentaires

merci pour de montage @ Nicolás


3 Réponses :


21
votes

Vous voulez dire quelque chose de genre comme ça? xxx

http: // jsfiddle.net/ahc87/2/

Cliquez dans la zone et faites glisser pour vous déplacer autour de la DIV. C'est rapide et sale, mais si c'était ce que tu voulais dire, c'est un bon point de départ. Sauf s'il y a un plugin existant quelque part.


0 commentaires


6
votes

Version ES6 / Vanilla JS de https://stackoverflow.com/a/5839943/145122

let el = document.querySelector("#yourhtmlelement");
let x = 0, y = 0, top = 0, left = 0;

let draggingFunction = (e) => {
    document.addEventListener('mouseup', () => {
        document.removeEventListener("mousemove", draggingFunction);
    });

    el.scrollLeft = left - e.pageX + x;
    el.scrollTop = top - e.pageY + y;
};

el.addEventListener('mousedown', (e) => {
    e.preventDefault();

    y = e.pageY;
    x = e.pageX;
    top = el.scrollTop;
    left = el.scrollLeft;

    document.addEventListener('mousemove', draggingFunction);
});


0 commentaires