11496 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Je cherche à inverser l'axe X/Y du scrolling de la souris, pour les souris à molettes.
Le site est fait en horizontal, ce serait donc pas mal que par défaut le scrolling de la souris soit inversé :

- Lorsque l'on descend, ça va à droite
- Lorsque l'on monte, ça va à gauche

J'ai cherché du mieux que j'ai pu sur le net, mais je n'ai rien trouvé.
Par contre j'ai vu qu'avec la touche shift, le scroll se fait de droite à gauche comme je le voudrais par défaut.
Donc existe-t'il une solution pour faire que par défaut le scroll se fasse en horizontal ?

Merci par avance !

Link`
Modifié par Link (03 Mar 2014 - 01:14)
salut,
c'est extrêmement simple

function addEvent(a,b,c,d){d = !d && false;(a.addEventListener)?a.addEventListener(b,c,d):a.attachEvent('on'+b,c);}

function scrolled(e){
	window.scrollBy(e.detail < 0 || e.wheelDelta > 0 ? -80 : 80, 0);
}

addEvent(document, "DOMMouseScroll", scrolled, false);
addEvent(document, "mousewheel", scrolled, false);

Si c'est pour un élément autre que la fenêtre, tu devras passer par ".scrollLeft".
Merci beaucoup ça fonctionne parfaitement !

Edite : Désolé pour le doublon, je ne trouve pas comment supprimer ce message, si un modo ou admin pouvait le faire, merci.
Modifié par Link (02 Mar 2014 - 01:18)
Zelalsan a écrit :
salut,
c'est extrêmement simple

function addEvent(a,b,c,d){d = !d &amp;&amp; false;(a.addEventListener)?a.addEventListener(b,c,d):a.attachEvent('on'+b,c);}

function scrolled(e){
	window.scrollBy(e.detail &lt; 0 || e.wheelDelta &gt; 0 ? -80 : 80, 0);
}

addEvent(document, &quot;DOMMouseScroll&quot;, scrolled, false);
addEvent(document, &quot;mousewheel&quot;, scrolled, false);

Si c'est pour un élément autre que la fenêtre, tu devras passer par &quot;.scrollLeft&quot;.


Merci beaucoup ça fonctionne parfaitement !
Salut à nouveau,

En fait c'est génial pour les ordinateurs à souris, mais pour ceux avec trackpad (comme pour les mac) ça fait quelque bug. On dirait que ça accélère la vitesse.

Est-il possible de détecter le type de souris (classique ou trackpad) ? Ou bien savoir si l'ordinateur est un portable ? Ou encore de ralentir la vitesse de défilement ?

Merci encore pour votre aide Smiley smile .
Modifié par Link (03 Mar 2014 - 01:32)