button 按钮点击波动效果

ゞ 浴缸里的玫瑰 2022-05-18 00:56 408阅读 0赞
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  4. <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
  5. <title></title>
  6. <style>
  7. .center{text-align:center}
  8. h1.mt40{margin-top:40px}
  9. .btn {background:#4285f4;position:relative;width:13em;height:3em;margin:2em;border:none;outline:none;letter-spacing:.2em;font-weight:bold;background:#999;cursor:pointer;overflow:hidden;user-select:none;border-radius:2px;color:#fff;}
  10. .ripple {position:absolute;background:rgba(0,0,0,.15);border-radius:100%;transform:scale(0);pointer-events:none;}
  11. .ripple.show {animation:ripple .75s ease-out;}
  12. @keyframes ripple {to {transform:scale(2);opacity:0;}}
  13. </style>
  14. </head>
  15. <body>
  16. <h1 class="center mt40"></h1>
  17. <div class="main center">
  18. <button class="btn">BUTTON</button>
  19. </div>
  20. <script>
  21. var addRippleEffect = function (e) {
  22. var target = e.target;
  23. if (target.className.toLowerCase() !== 'btn') return false;
  24. var rect = target.getBoundingClientRect();
  25. var ripple = target.querySelector('.ripple');
  26. if (!ripple) {
  27. ripple = document.createElement('span');
  28. ripple.className = 'ripple';
  29. ripple.style.height = ripple.style.width = Math.max(rect.width, rect.height) + 'px';
  30. target.appendChild(ripple);
  31. }
  32. ripple.classList.remove('show');
  33. var top = e.pageY - rect.top - ripple.offsetHeight / 2 - document.body.scrollTop;
  34. var left = e.pageX - rect.left - ripple.offsetWidth / 2 - document.body.scrollLeft;
  35. ripple.style.top = top + 'px';
  36. ripple.style.left = left + 'px';
  37. ripple.classList.add('show');
  38. return false;
  39. }
  40. document.addEventListener('click', addRippleEffect, false);
  41. </script>
  42. <!-- 无关紧要的-->
  43. <script src="/js/other.js"></script>
  44. <link href="/css/other.css" rel="stylesheet" />
  45. <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
  46. <script src="/js/pop_250_250.js"></script>
  47. </body>
  48. </html>

复制粘贴即可。

此效果为截图:

20201027174359724.png

发表评论

表情:
评论列表 (有 0 条评论,408人围观)

还没有评论,来说两句吧...

相关阅读