HTML
CSS
JavaScript
HTML
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<title>loading加载 - 光年(Light Year Admin)后台管理系统模板</title>
<link rel="icon" href="favicon.ico" type="image/ico">
<meta name="keywords" content="LightYear,光年,后台模板,后台管理系统,光年HTML模板">
<meta name="description" content="LightYear是一个基于Bootstrap v3.3.7的后台管理系统的HTML模板。">
<meta name="author" content="yinqi">
<link href="http://lyear.itshubao.com/iframe/css/bootstrap.min.css" rel="stylesheet">
<link href="http://example.itshubao.com/demo/css/materialdesignicons.min.css" rel="stylesheet">
<link href="http://lyear.itshubao.com/iframe/css/style.min.css" rel="stylesheet">
</head>
  
<body>
<div class="container-fluid">
  
  <div class="row">
    <div class="col-md-12">
      <div class="card">
        <div class="card-header"><h4>loading加载 jquery.lyear.loading</h4></div>
        <div class="card-body">
          
          <p>因为之前开源light year admin 模板时候,网友提到想要能自定义文字的加载动画效果,这是抽空弄的一个JS效果。里面的一些定位的计算参考了网上的开源项目。</p>
          <p>算是个简单的加载动画js插件,可以采用css loading动画或者图片,并且设置loading文字。</p>
          <div>
            <pre><code>$('#test-btn').click(function() {
    var l = $('body').lyearloading({
        opacity           : 0.1,              // 遮罩层透明度,为0时不透明
        backgroundColor   : '#ccc',           // 遮罩层背景色
        imgUrl            : '',               // 使用图片时的图片地址
        textColorClass    : 'text-success',   // 文本文字的颜色
        spinnerColorClass : 'text-success',   // 加载动画的颜色(不使用图片时有效)
        spinnerSize       : 'lg',             // 加载动画的大小(不使用图片时有效,示例:sm/nm/md/lg,也可自定义大小,如:25px)
        spinnerText       : '加载中...',       // 文本文字    
        zindex            : 9999,             // 元素的堆叠顺序值
    });
    setTimeout(function() {
        l.hide();
    }, 500000)
});
            </code></pre>
          </div>
          <div class="form-group">
            <label>示例一</label>
            <button type="submit" class="btn btn-primary" id="example-one">确认提交</button>
          </div>
          <div class="form-group">
            <label>示例二</label>
            <button type="submit" class="btn btn-success" id="example-two">确认提交</button>
          </div>
          <div class="form-group">
            <label>示例三</label>
            <button type="submit" class="btn btn-info" id="example-three">确认提交</button>
          </div>
          <div class="form-group">
            <label>示例四</label>
            <button type="submit" class="btn btn-danger" id="example-four">确认提交</button>
          </div>
          
        </div>
      </div>
    </div>
    
    <div class="col-lg-6">
      <form class="card" id="login-form">
        <div class="card-header"><h4>登录/注册</h4></div>
  
        <div class="card-body">
          <div class="form-group">
            <input class="form-control" type="text" placeholder="用户名">
          </div>
  
          <div class="form-group">
            <input class="form-control" type="text" placeholder="邮箱">
          </div>
  
          <div class="form-group">
            <input class="form-control" type="password" placeholder="密码">
          </div>
        </div>
        
        <footer class="card-footer clearfix">
          <div class="example-left pull-left">
            <label class="lyear-checkbox">
              <input type="checkbox">
              <span>五天内自动登录</span>
            </label>
          </div>
          <div class="example-right pull-right">
            <button class="btn btn-primary" type="reset" id="example-five">登录</button>
            <button class="btn btn-danger" type="submit">注册</button>
          </div>
        </footer>
        
      </form>
    </div>
    
  </div>
  
</div>

<script type="text/javascript" src="http://lyear.itshubao.com/iframe/js/jquery.min.js"></script>
<script type="text/javascript" src="http://libs.itshubao.com//jquery.lyear.loading.js"></script>
</body>
</html>
CSS
@-webkit-keyframes spinner-border {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spinner-borderspinner-border {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.spinner-border {
    display: inline-block;
    vertical-align: text-bottom;
    border: 0.125em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spinner-border .75s linear infinite;
    animation: spinner-border .75s linear infinite;
}
  
.card-footer {
    background-color: #fcfdfe;
    border-top: 1px solid rgba(77,82,89,0.05);
    padding: 10px 20px;
}
.card-footer .example-left .lyear-checkbox {
    margin-top: 10px;
}
JavaScript
$(document).ready(function(){
    // 按钮中的loading
    $('#example-one').click(function(){
        var l = $(this).lyearloading({
            opacity: 0.2,
            spinnerSize: 'nm'
        });
        setTimeout(function() {
            l.destroy(); // 可以使用hide,页面中如果有多个loading,最好用destroy,避免后面的loading设置不生效
        }, 1e3)
    });
    
    // 基于整个body的loading
    $('#example-two').click(function(){
        var l = $('body').lyearloading({
            opacity: 0.2,
            spinnerSize: 'lg'
        });
        setTimeout(function() {
            l.destroy();
        }, 1e3)
    });
    
    // 使用文字和颜色
    $('#example-three').click(function(){
        var l = $('body').lyearloading({
            opacity: 0.2,
            spinnerSize: 'lg',
            spinnerText: '后台处理中,请稍后...',
            textColorClass: 'text-info',
            spinnerColorClass: 'text-info'
        });
        setTimeout(function() {
            l.destroy();
        }, 1e3)
    });
    
    // 使用图片
    $('#example-four').click(function(){
        var l = $('body').lyearloading({
            opacity: 0.6,
            backgroundColor: '#ffffff',
            imgUrl: 'http://www.bixiaguangnian.com/home/images/loader.gif',
            spinnerText: '后台处理中,请稍后...',
            textColorClass: 'text-info'
        });
        setTimeout(function() {
            l.destroy();
        }, 1e3)
    });
    
    // 某一个div元素中的loading
    $('#example-five').click(function(){
        var l = $('#login-form').lyearloading({
            opacity: 0.2,
            spinnerSize: 'lg'
        });
        setTimeout(function() {
            l.destroy();
        }, 1e3)
    });
});