Maison  >  Article  >  interface Web  >  Découvrez l'effet d'entraînement de l'eau des boutons CSS3 + Javascript à travers des exemples de code

Découvrez l'effet d'entraînement de l'eau des boutons CSS3 + Javascript à travers des exemples de code

青灯夜游
青灯夜游avant
2021-04-27 10:24:243195parcourir

Cet article utilise des exemples de code pour présenter comment obtenir l'effet d'entraînement de l'eau des boutons avec css3+javascript. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Découvrez l'effet d'entraînement de l'eau des boutons CSS3 + Javascript à travers des exemples de code

css3+js pour obtenir un effet d'ondulation de l'eau des boutons

HTML

  • Nous utilisons d'abord la balise <a></a> pour définir deux boutons
<a href="#">button</a>
<a href="#">button</a>

CSS3

  • Ajuster le style de mise en page
  • Gamme de couleurs
* {
    margin: 0;
    padding: 0;
    font-family: &#39;Poppins&#39;, sans-serif; /* 字体 */
}

body {
    display: flex;
    justify-content: center;/* 弹性盒子 */
    align-items: center;
    min-height: 100vh;
    flex-direction: column;
    background: #1f2a33;
}

a {
    position: relative;
    display: inline-block;
    padding: 12px 36px;
    margin: 10px 0;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 18px;
    letter-spacing: 2px;
    border-radius: 40px;
    overflow: hidden;
    background: linear-gradient(90deg, #0162c8, #55e7fc);
}
/* 子伪类选择器 */
a:nth-child(2) {
    background: linear-gradient(90deg, #755bea, #ff72c0);
}

span {
    position: absolute;
    background: #fff;
    transform: translate(-50%, -50%);
    pointer-events: none;
    border-radius: 50%;
    animation: animate 1s linear infinite;
}

@keyframes animate {
    0% {
        width: 0px;
        height: 0px;
        opacity: 0.5;
    }
    100% {
        width: 500px;
        height: 500px;
        opacity: 0;
    }
}

JavaScript

  • Activer les événements d'écoute js
  • Minuterie
  • Objectif : Contrôler l'animation et unités L'effet de clic est unifié dans le temps
const buttons = document.querySelectorAll(&#39;a&#39;);

buttons.forEach(btn => { //箭头函数 (ES6)

    btn.addEventListener(&#39;click&#39;, function (e) {
        let x = e.clientX - e.target.offsetLeft;
        let y = e.clientY - e.target.offsetTop;
        
        let ripples = document.createElement(&#39;span&#39;);
        
        ripples.style.left = x + &#39;px&#39;;
        ripples.style.top = y + &#39;px&#39;;
        
        this.appendChild(ripples);
        setTimeout(() => {
            ripples.remove()
        }, 1000);
    })
})

Rendu :

Découvrez leffet dentraînement de leau des boutons CSS3 + Javascript à travers des exemples de code

Pour plus de connaissances liées à la programmation, veuillez visiter : Programmation Cours vidéo! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer