Ich versuche zu verstehen, wie Parallax mit iscroll5 funktioniert. Soweit ich weiß, kann ich einen Container als Indikator für die Änderung der Scrollgeschwindigkeit definieren. Was ich jedoch tun muss ist, ein Geschwindigkeitsverhältnis auf mehrere Elemente gleichzeitig anzuwenden.iScroll Parallax Effekt
Nehmen wir das Beispiel unten, wie würde ich fortfahren, die speedratioX
aller h2
Elemente auf einmal zu ändern?
Hier ist die jsfiddle (könnte einfacher sein) und unter dem gleichen Beispiel in SO:
var container = document.getElementsByClassName('iscroll__wrapper')[0],
myScroll = new IScroll(container, {
scrollX: true,
scrollY: false,
mouseWheel: true
});
.iscroll__wrapper {
overflow-x: scroll;
overflow-y: hidden;
}
ul {
margin: 0;
padding: 0;
display: flex;
width: 1200px;
height: 300px;
}
li {
box-sizing: border-box;
flex: 0 0 auto;
width: calc(100%/3);
padding-left: 2em;
padding-right: 2em;
list-style: none;
}
figure {
margin: 0;
}
img {
display: block;
width: 100%;
height: auto;
}
<script src="https://cdn.jsdelivr.net/npm/iscroll/build/iscroll-probe.js"></script>
<div class="iscroll__wrapper">
<ul>
<li>
<figure><img src="https://lorempixel.com/900/200"></figure>
<h2 class="title">Title 1</h2>
</li>
<li>
<figure><img src="https://lorempixel.com/900/200"></figure>
<h2 class="title">Title 1</h2>
</li>
<li>
<figure><img src="https://lorempixel.com/900/200"></figure>
<h2 class="title">Title 1</h2>
</li>
</ul>
</div>
Nun meine Fragen sind:
Ist Ist es möglich nur mit iScroll zu arbeiten? Und wenn ja, wie (in der Dokumentation wird nur die Änderung des Geschwindigkeitsverhältnisses eines ganzen Containers erwähnt)?
Wenn es nicht möglich ist, bin ich offen für alle anderen Vorschläge, die in iScroll integriert werden können und keine jQuery erfordern.
Vielen Dank für Ihre Hilfe!