ich habe auf meiner Website ein Div, welches horizontal gescrollt werden kann.
Damit der Benutzer mit dem Mausrad nach links und rechts scrollen kann, nutze ich das Script von: https://github.com/jquery/jquery-mousewheel/blob/master/jquery.mousewheel.js
und folgendes Script, welches sich auf das Div (scrolldiv) bezieht:
Leider sieht das Scrollen dabei sehr ruckelig aus. Habt ihr eine Lösung, wie man das besser machen könnte?
Problem ist, dass sämtliche „Smooth-Scrolling“ Skripte mit Anchors arbeiten (die ich gefunden habe), ich aber keine Anchors habe, sondern nur das Div entlang scrollen will.
$( "#left" ).click(function(){
$( "#scrolldiv" ).animate({ "left": "-=50px" }, "slow" );
});
funktioniert insofern nicht, da hier CSS-Eigenschaften geändert werden, ich ja aber das:
this.scrollLeft -= (delta * 80);
ausführen möchte.
Die Variante:
$('#scrolldiv').mousewheel(function(e, delta) {
$( "#scrolldiv" ).animate(this.scrollLeft -= (delta * 80), "slow" );
e.preventDefault();
});
funktioniert zwar, hat aber genau das gleiche Ruckeln, wie schon am Anfang.
Und die ScrollTop-Funktion umschreiben hat am Ende das gleiche Ergebnis vom Code her und vom Aussehen.