按钮点击涟漪效果

.btn{

    position: relative;

    border: none;

    background: linear-gradient(to right,#33cccc,#ff99cc);

    width: 200px;

    height: 60px;

    font-size: 20px;

    letter-spacing: 2px;

    color: white;

    border-radius: 30px;

    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);

    overflow: hidden;

}

.btn span{

    position: absolute;

    width: 30px;

    height: 30px;

    background-color: white;

    transform: translate(-50% , -50%);

    border-radius: 50%;

    animation: anima 1s ease 1;

    pointer-events: none;

}

@keyframes anima {

    from{

        width: 0;

        height: 0;

        opacity: 0.8;

    }

    to{

        width: 400px;

        height: 400px;

        opacity: 0;

    }

}

.btn:active{

    box-shadow: 0 0 10px rgba(0, 0, 0, 03);

    transform: scale(0.9);

}

    </style>

</head>

<body>

    <button class="btn">我擦好牛逼</button>

    <button class="btn">我擦好牛逼</button>

    <button class="btn">我擦好牛逼</button>

    <button class="btn">我擦好牛逼</button>

    <script>

        const btns = document.querySelectorAll('button');

        btns.forEach(btn => {         

            btn.addEventListener('click',e=>{

                let span = document.createElement('span');

                span.style.left=e.offsetX+'px';

                span.style.top=e.offsetY+'px';

                btn.appendChild(span);

                setTimeout(function(){

                    span.remove();

                }, 1000);

            })

        });

//这里才是重点,利用js点击事件,在点击的位置生成一个span标签,css里有span的样式,从而达到涟漪的效果

    </script>

</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的示例代码,演示如何在echarts涟漪效果地图中添加label点击事件: ```javascript // 初始化echarts实例 var myChart = echarts.init(document.getElementById('myChart')); // 配置涟漪效果地图 var option = { series: [{ type: 'effectScatter', coordinateSystem: 'geo', data: [ {name: '北京', value: [116.46, 39.92]}, {name: '上海', value: [121.48, 31.22]}, {name: '广州', value: [113.23, 23.16]} ], rippleEffect: { brushType: 'stroke' }, label: { show: true, formatter: '{b}', position: 'right' }, itemStyle: { color: 'purple' } }], geo: { map: 'china', label: { emphasis: { show: false } }, roam: true, itemStyle: { normal: { areaColor: '#323c48', borderColor: '#111' }, emphasis: { areaColor: '#2a333d' } } } }; // 绑定label点击事件 myChart.on('click', function (params) { if (params.componentType === 'series' && params.seriesType === 'effectScatter') { alert('您点击了' + params.name); } }); // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); ``` 在上面的代码中,我们先初始化了一个echarts实例,然后配置了一个涟漪效果地图。在配置中,我们设置了一个label,用于显示地图上的城市名称。接着,我们通过`myChart.on('click', function (params) {...})`绑定了一个label点击事件的处理函数。在处理函数中,我们判断`params.componentType`和`params.seriesType`是否分别等于`series`和`effectScatter`,如果是,则表示用户点击了一个label,我们就可以通过`params.name`获取到该城市的名称,然后进行相应的处理。 注意,由于涟漪效果地图是基于geo组件实现的,因此我们需要在geo组件上绑定点击事件,而不是在series组件上绑定。同时,我们还需要判断`params.seriesType`是否等于`effectScatter`,因为在涟漪效果地图中,我们使用了effectScatter类型的散点图来展示城市的位置信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值