touchstart
), das im Zielelement absolut positioniert ist. Dieses neue Element repräsentiert die Ripple. Anschließend positionieren wir dieses Ripple -Element an den genauen Koordinaten der Berührung mit den Eigenschaften <span>
und <div>
aus dem Touch -Ereignis. Zu den wichtigsten Eigenschaften gehören: touches[0].clientX
touches[0].clientY
-Animation erhöht die Größe des Ripple, während eine -Animation sie ausblendet. Die Animationsdauer steuert die Geschwindigkeit der Welligkeit. Wir können CSS -Variablen (benutzerdefinierte Eigenschaften) verwenden, um diese Parameter einfach anzupassen.
border-radius: 50%;
: Dies erzeugt die perfekt kreisförmige Form, die für eine Welle charakteristisch ist. Der Wert transform: scale(x);
in diesen sind entscheidend für die Feinabstimmung der Animation. Durch Hinzufügen eines leichten Highlight oder einer tiefen Tiefe zu dem Ripple. Hier erfahren Sie, wie: x
background-color
-Mobilie in Ihrem CSS, um die Farbe des Ripple zu ändern. Durch die Verwendung von CSS -Variablen erleichtert es einfacher, die Farbe weltweit zu ändern. Zum Beispiel: const container = document.getElementById('container');
container.addEventListener('touchstart', (event) => {
const touchX = event.touches[0].clientX;
const touchY = event.touches[0].clientY;
const ripple = document.createElement('span');
ripple.classList.add('ripple');
ripple.style.left = `${touchX}px`;
ripple.style.top = `${touchY}px`;
container.appendChild(ripple);
setTimeout(() => {
container.removeChild(ripple);
}, 1000); // Remove ripple after animation completes
});
transform: scale(x);
in Ihrer CSS -Animation oder -übergang einstellen. Ein größerer x
-Werte führt zu einer größeren Welligkeit. Sie können diesen Wert in JavaScript auch dynamisch anhand der Größe des Zielelements anpassen. Zum Beispiel: animation-duration
transition-duration
JavaScript -Steuerung: #container {
position: relative;
overflow: hidden; /* Important to contain the ripples */
}
.ripple {
position: absolute;
background-color: rgba(0, 0, 255, 0.5); /* Example color */
border-radius: 50%;
transform: scale(0); /* Initial state */
animation: rippleAnimation 1s ease-out forwards; /* Animation */
}
@keyframes rippleAnimation {
to {
transform: scale(2.5); /* Final scale */
opacity: 0; /* Fade out */
}
}
Das obige ist der detaillierte Inhalt vonWie verwendet ich JavaScript und CSS, um Web -Touch -Wellenanimationseffekte zu erzielen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!