如何在Ajax调用上添加UI微调器?

时间:2014-08-28 11:49:51

标签: javascript spinner jquery-ui-spinner

我想在Ajax调用上显示加载微调器。我试过了spin.js库,但它没有用。这是我的JavaScript函数,它使用Ajax调用。

function sendRequest() {
    $.ajax({
            url: '/spinner',
            type: 'get',
            contentType: "application/json",
            success: function (resp) {
                $('#spinner').append(resp.data);
                console.log(resp.data);
            },
            error: function (){
                console.log("Oops!");
            }
        }
    );
}

我的HTML代码:

<html>
<head>
    <link type="text/css" rel="stylesheet" href="../resources/css/style.css"/>
    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css">
    <script type="text/javascript" charset="utf-8" src="../resources/js/jquery.js"></script>
    <script type="text/javascript" charset="utf-8" src="../resources/js/send.js"></script>
    <script type="text/javascript" charset="utf-8" src="../resources/js/jquery.spin.js"></script>
    <script type="text/javascript" charset="utf-8" src="../resources/js/spin.js"></script>
</head>
<body>
    <button id="butt" class="pure-button pure-button-primary" onclick="sendRequest()">Press me!</button>
    <div id="spinner">Greeting!</div>
</body>
</html>

-CSS -

#spinner {
    text-align: center;
    font-size: 100px;
    color: #FFFFFF;
    margin: 25px 350px 350px 350px;
    background: #ad9ea4;
    position: relative;
    padding: 50px;
}

在服务器端,我有一点延迟(5秒)。实际上我想在这5秒内显示微调器。如何将动画微调器添加到我的页面中?

1 个答案:

答案 0 :(得分:3)

您不需要任何库来执行此操作。只需将图像添加到标记中,默认情况下将其隐藏,在发送请求时显示,并在请求完成后隐藏它。

的JavaScript

 function sendRequest() {
      // show spinner
      $('#spinner').show();
      $.ajax({
          url: '/spinner',
          type: 'get',
          contentType: "application/json",
          success: function (resp) {
              $('#spinner').append(resp.data);
              console.log(resp.data);
          },
          error: function () {
              console.log("Oops!");
          }
      }).done(function () {
          // hide spinner
          $('#spinner').hide();
      });
  }

HTML

<img src="path/to/img.png" id="spinner"/>

CSS(您可能想要编辑它)

#spinner{
  display: none;
  position: absolute;
  left: 50%;
  top: 20%;
}