负载加载微调器上的AJAX

时间:2016-02-08 09:13:04

标签: javascript jquery css ajax

我想在我的网站上放置这样的东西。这是codepen

@-webkit-keyframes rotate-forever {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes rotate-forever {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotate-forever {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.loading-spinner {
  -webkit-animation-duration: 0.75s;
  -moz-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: rotate-forever;
  -moz-animation-name: rotate-forever;
  animation-name: rotate-forever;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  height: 30px;
  width: 30px;
  border: 8px solid #ffffff;
  border-right-color: transparent;
  border-radius: 50%;
  display: inline-block;
}

body {
  background: #774CFF;
}

.loading-spinner {
  position: absolute;
  top: 50%;
  right: 0;
  bottom: 0;
  left: 50%;
  margin: -15px 0 -15px;
}
<body>
  <div class="loading-spinner"></div>
</body>

但是,我想要显示这个,直到我的网站上加载了所有的ajax,我有5-6个API GET调用,还有一个通过rails。我怎么会这样呢?这样它就可以覆盖整个页面,直到它被加载。

1 个答案:

答案 0 :(得分:1)

  1. .loading-spinner转换为屏蔽(请参阅代码),以便隐藏内容。
  2. ajax完成.hide()时。
  3. &#13;
    &#13;
    $.ajax({
      url: 'your_ajax',
      success: function() {
        hideLoader()
      },
      error: function() {
        hideLoader()
      }
    });
    
    function hideLoader() {
      $('.loading-spinner').hide();
    }
    &#13;
    @-webkit-keyframes rotate-forever {
      0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
      }
      100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
      }
    }
    @-moz-keyframes rotate-forever {
      0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
      }
      100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
      }
    }
    @keyframes rotate-forever {
      0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
      }
      100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
      }
    }
    
    .loading-spinner {
     background: #774CFF;
      position:absolute;
      top:0;
      left:0;
      width:100%;
      height:100%;
    }
    
    .loading-spinner:before {
      -webkit-animation-duration: 0.75s;
      -moz-animation-duration: 0.75s;
      animation-duration: 0.75s;
      -webkit-animation-iteration-count: infinite;
      -moz-animation-iteration-count: infinite;
      animation-iteration-count: infinite;
      -webkit-animation-name: rotate-forever;
      -moz-animation-name: rotate-forever;
      animation-name: rotate-forever;
      -webkit-animation-timing-function: linear;
      -moz-animation-timing-function: linear;
      animation-timing-function: linear;
      height: 30px;
      width: 30px;
      border: 8px solid #ffffff;
      border-right-color: transparent;
      border-radius: 50%;
      display: inline-block;
    }
    
    /*body {
      background: #774CFF;
    }*/
    
    .loading-spinner:before {
      content:"";
      position: absolute;
      top: 50%;
      right: 0;
      bottom: 0;
      left: 50%;
      margin: -15px 0 -15px;
    }
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <body>
      <div class="loading-spinner"></div>
      Lorem Ispum Lorem Ispum Lorem Ispum Lorem Ispum 
    </body>
    &#13;
    &#13;
    &#13;