1 Star 1 Fork 0

ZQY233/原生练习

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
按钮点击动画.html 2.06 KB
一键复制 编辑 原始数据 按行查看 历史
ZQY233 提交于 2021-10-11 16:40 . 2021-10-11
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<!-- <script src="https://cdn.jsdelivr.net/npm/[email protected]/btnAnimation.js"></script> -->
<body>
<button onclick="add(event)">
点击
</button>
</body>
<style>
button {
width: 100px;
height: 100px;
background-color: skyblue;
}
</style>
<script>
function buttonAnimation(e, color = '#fff') {
const style = document.createElement('style')
style.innerHTML = '.buttonAnimation {' +
' position: absolute;' +
' height: 400px;' +
' width: 400px;' +
` background:${color};` +
' top: 0;' +
' left: 0;' +
' border-radius: 50%;' +
' transform: translate(-50%, -50%);' +
' opacity: 0.5;' +
' animation: buttonAnimation 0.5s linear infinite;' +
'}' +
'@keyframes buttonAnimation {' +
' 0% {' +
' height: 0px;' +
' width: 0px;' +
' opacity: 0.5;' +
' }' +
' 100% {' +
' height: 400px;' +
' width: 400px;' +
' opacity: 0;' +
' }' +
'}'
e.target.appendChild(style)
e.target.style.cssText = 'position:relative;overflow:hidden;'
const overlay = document.createElement('span')
overlay.classList.add('buttonAnimation')
const x = e.clientX - e.target.getBoundingClientRect().left
const y = e.clientY - e.target.getBoundingClientRect().top
overlay.style.left = x + 'px'
overlay.style.top = y + 'px'
e.target.appendChild(overlay)
setTimeout(() => {
overlay.remove()
style.remove()
}, 500)
}
function add(e) {
console.log('E', e);
buttonAnimation(e)
}
</script>
</html>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zqylzcwcxy/native-practice.git
[email protected]:zqylzcwcxy/native-practice.git
zqylzcwcxy
native-practice
原生练习
master

搜索帮助