Ich versuche, sehr einfache horizontale Slider mit reinem Javascript zu bauen, ich will keine Bibliotheken wie jquery. Aufgabe schien am Anfang einfach, aber ich habe ein Problem gefunden. Ich versuche, Messwerte von offsetX
Eigenschaft zu erhalten, um den Handler an der richtigen Stelle zu setzen. Das Problem ist, dass wenn ich den Handler auf der Spur gleite, er manchmal das Ereignisziel wechselt und die Messwerte vom Handler in den Schieberegler-Container ändert. Dieser gesamte visuelle Effekt ist nicht der beste.simple js slider, lesen von ofssetX make handler jumpy
das ist, wie ich dies konstruiert:
Ich denke, diese Lösung wäre Ereignis aus falschen Ablesungen zu verhindern (von Handler
var dragging = false;
document.querySelector('.slider').onmousemove = function(event) {
if(dragging) {
document.querySelector('.handler').style.left = (event.offsetX - 15) + 'px';
}
};
document.querySelector('.handler').onmousedown = function(event) {
dragging = true;
};
window.onmouseup = function(event) {
dragging = false;
}
:
<div class="slider">
<div class="track">
<div class="handler"></div>
</div>
</div>
und der Code hinter oder Spur) und verwenden Sie immer nur die Mausposition relativ zum Schieberegler div. Aber wie das geht, weiß ich noch nicht. Tut jemand? ;)
Das ist, was ich für meinen Herren war auf der Suche;) Danke für die Hilfe;) – Mevia