Je veux avoir une liste d'éléments, où si je passe la souris sur le côté droit, elle défile horizontalement dans la liste. Et fait de même si je plane sur le côté gauche juste dans l'autre sens.Vitesse - Défilement horizontal - transitionX se termine trop vite
(Et l'avenir, il montrera un compteur de combien d'articles sont laissés, et si je peux voir le dernier élément, la zone « hoverable » ne sera pas plus visible.)
I gérés avoir le défilement, mais le timing n'est pas encore bon. Je veux un effet facilité in-out:
- un peu lent au début
- plus vite au milieu (mais toujours lisible)
- bas à la fin.
J'utilise Velocity.js, voici l'exemple de code:
$(".tab__more").hover(function(){
var max_width = parseInt($('.tabs__nav').css('max-width'));
var $tablist = $(".tabs__nav ul");
var listItems = $tablist[0].children;
var widths = 0;
for(var i = 0; i < listItems.length; i++)
{
widths += parseInt($(listItems[i])[0].scrollWidth);
}
var scrollWidth = (widths-max_width+10)*-1 + 'px';
$(".tabs__nav ul").velocity({translateX: scrollWidth}, { duration: 5000, easing: [0.52,0.15,0.7,0.95] });
}, function(){
$(".tabs__nav ul").velocity("stop");
});
$(".tab__less").hover(function(){
$(".tabs__nav ul").velocity({translateX: 10}, { duration: 5000, easing: [0.52,0.15,0.7,0.95] });
}, function(){
$(".tabs__nav ul").velocity("stop");
});
lien Codepen: https://codepen.io/lordblendi/pen/yzzjZR
Oui, je comprends. Buit même lorsque je mets l'accélération linéaire, il y a un saut dans l'animation. Donc, je ne suis pas sûr que ce soit en raison de l'assouplissement que je définis. – lordblendi