按钮图标

jQuery+CSS3创意表单提交按钮动画特效

阿里云

这是一款非常有创意的 jQuery 和 CSS3 表单提交按钮动画特效。该提交按钮在用户点击的时候会转换为一个进度条,用以表示当前提交的进程,当提交结束后,进度条优惠转换为一个圆形的成功符号,效果非常酷。

HTML 结构:

该提交按钮特效的 HTML 结构使用一个

也想出现在这里?联系我们
创客主机
来包裹一个按钮。按钮中 div.fill 是进度条元素,.fa-check 是 font-awesome 图标,这是提交成功后的圆形图标。

  1. <div id="button-wrapper">
  2.     <button>
  3.         <p>Upload Something</p>
  4.         <div class="fill"></div>
  5.         <div class="fa fa-check"></div>
  6.     </button>
  7. </div>

CSS 样式:

该提交按钮特效的按钮包裹元素#button-wrapper 被绝对定位到屏幕中间,宽度设置为 450 像素,并添加了 ease 平滑过渡效果。

  1. #button-wrapper {
  2.     width: 450px;
  3.     text-align: center;
  4.     padding: 0 100px;
  5.     box-sizing: border-box;
  6.     -webkit-transition: .3s all ease .3s;
  7.     transition: .3s all ease .3s;
  8.     position: absolute;
  9.     top: 50%;
  10.     left: 50%;
  11.     -webkit-transform: translate3d(-50%, -50%, 0);
  12.     transform: translate3d(-50%, -50%, 0);
  13. }

按钮元素使用相对定位,设置了一个大圆角和 ease 平滑过渡效果。

  1. button {
  2.     width: 100%;
  3.     background: #8e44ad;
  4.     border: none;
  5.     border-radius: 50px;
  6.     padding: 5px 0;
  7.     cursor: pointer;
  8.     -webkit-transition: .3s all ease;
  9.     transition: .3s all ease;
  10.     position: relative;
  11. }

进度条.fill 元素使用绝对定位,开始时宽度被设置为 0,并设置了一个圆角。

  1. button .fill {
  2.     position: absolute;
  3.     top: 0;
  4.     left: 0;
  5.     bottom: 0;
  6.     right: 0;
  7.     width: 0%;
  8.     background: #8e44ad;
  9.     border-radius: 50px;
  10. }

该提交按钮特效中使用 jQuery 来处理按钮的点击事件,在按钮被点击的时候,它的父元素被添加了 clicked class。在 clicked 样式中,按钮上的文字被隐藏,按钮的高度被减小到 25px,进度条的宽度被设置为 100%。这样便制作出了按钮转换为进度条并开始动画的效果。

  1. #button-wrapper.clicked {
  2.     padding: 0;
  3. }
  4.  
  5. #button-wrapper.clicked button {
  6.     background: #ccc;
  7.     margin-top: 25px;
  8. }
  9.  
  10. #button-wrapper.clicked button p {
  11.     max-height: 0;
  12.     overflow: hidden
  13. }
  14.  
  15. #button-wrapper.clicked button .fill {
  16.     width: 100%;
  17.     -webkit-transition: .3s all ease .3s;
  18.     transition: 2s all ease .6s;
  19. }

最后进度条转换为圆形图标的原理基本类似,具体请参考源文件代码。

JAVASCRIPT 代码:

该进度条特效中使用 jQuery 来处理按钮的点击事件,在按钮被点击的时候为它的父元素添加.clicked class,并在延迟 2600 毫秒后为按钮添加.success class。.clicked class 或激活进度条动画,.success class 会使进度条转换为圆形的图标。

  1. (function () {
  2.     'use strict';
  3.     var $button = $('button');
  4.     $button.on('click', function () {
  5.         $(this).parent().addClass('clicked').delay(2600).queue(function () {
  6.             $(this).addClass('success');
  7.         });
  8.     });
  9. }());

jQuery+CSS3 创意表单提交按钮动画特效

已有 420 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(1)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!