tu pourrais faire un truc comme ça : un mousedown sur l'élément qui peut défiler, un mouseup sur le window, au cas ou on déplace la souris en sortant du cadre de l'élément et qu'on relâche la souris sur window, un interval qui se répète toutes les 20 millisecondes et on ajoute +1 au scrollLeft.
let a = document.querySelector("#a");
let md = false;
let interv;
a.addEventListener("mousedown", ()=>{
md = true;
interv = setInterval(anim, 20);
});
window.addEventListener("mouseup", ()=>{
if (md) clearInterval(interv); md = false;
});
function anim(){
if (md) a.scrollLeft += 1
}
J'ai cherché sur le net ou même dans le code source d'ubereats mais je n'ai pas réussi à trouver la solution à mon besoin malgrés le code que tu me proposes.
Pour moi l'idée aurait été de:
Initialisation
Variable booléenne à false
détecter si il y a un mousedown parmis les enfants de la balise <ul>
si oui, variable booléenne à true
On regarde maintenant si il y un mouse move toujours parmis <ul> et ses enfants
Oui, on translateX <ul> de 1px[Comment choisir la direction ? Je veux que cela puisse parcourir toutes la liste, sachant qu'une partie est overflow(le principe est d'afficher les profils cachés par l'overflow en faisant défiler, donc quand on arrive à la fin de la lioste il faut pouvoir revenir au début, comme sur ubereats.com/fr/feed/, en se déplacant vers x et -x)]
Un des problème que tu peux avoir en essayant de simuler l'API du drag and drop à la main, en plaçant manuellement les événements mousemove, mouseenter, mouseleave ect...
Ces événements sont dépendant au dispositif de pointage (il ne fonctionneront pas sur un appareil tactile comme un téléphone par exemple).
Avec l'API drag and drop le navigateur convertira les événements automatiquement, car il ces que les événements de la souris sont associé à l'action d'un drag and drop donc il ces comment appliquer la convertion.
Si tu l'écrits à la main le navigateur na pas conscience que t'es événements souris sont associé à un drag and drop il convertira rien.
- Edité par SamuelGaborieau3 23 mai 2022 à 8:49:41
suggestion de présentation.
Faire défiler des image en maintenant le clique
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
suggestion de présentation.