Hallo, ich habe einen Slider auf Basis des normalen Image-Sliders integriert. Der Slider funktioniert einwandfrei.
Leider wird der Slider-Dot des ersten Slides nicht aktiv, wenn man die Seite aufruft. Die Klasse is–active setze ich drauf, aber irgendwann nimmt sie wieder weg. Wenn man das erste Slide per Touch berührt, wird auch der Slider-Dot aktiv… woran kann das liegen?
Zudem wird bei jedem mal Sliden ein Fehler in der Chrome Console ausgelöst:
[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive.
Hi! Zeig mal bitte deinen Quellcode, den du nutzt. Ich habe ebenfalls einen Slider auf Basis des Image-Sliders in Verwendung und bei mir funktioniert es einwandfrei, wenn ich dem ersten „dot–link“ das „is–active“ initial mitgebe.
Zu deinem anderen Problem: Das hatte ich auch. Liegt wohl an einer Optimierung der Scrollfunktion im Chrome. Hier schaffte bei mir folgende CSS-Eigenschaft Abhilfe: touch-action: none;
Einfach im CSS der Klasse .image-slider diese Eigenschaft mitgeben:
Der Code schaut in Ordnung aus. Wenn der erste Eintrag in der Dot-Navigation die “is–active” Klasse bekommen hat, sollte dieser auch beim Laden der Seite als aktiv angezeigt werden. Was sagt denn die Entwicklerkonsole, ist die Klasse dem ersten Eintrag hinzugefügt oder fehlt sie? Hast du irgendwelche Modifikationen am jquery.image-slider.js vorgenommen, die eventuell beim init die Klasse “klauen”?
Beim init wird me.setActiveDot(me._slideIndex) aufgerufen. Der Parameter beinhaltet den Index des ersten Slide-Items (0), sollte man per Option nichts anderes festgelegt haben. Es sollte also von Haus aus auch dann der erste a-Tag der Dot-Navigation ausgewählt werden, wenn man die Klasse nicht schon im Markup mit angibt.
Da scheint es also irgendwo beim init bei dir zu klemmen. Kannst dir ja mal ein console.info('init dot index: ’ + me._slideIndex) in die jquery.slider-image.js z. B. nach der Zeile 501 einbauen. Eventuell hilft das ein wenig weiter.