javascript - AJAX on load loading spinner -


i'm wanting place on website. here 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>

however, i'm wanting display until ajax has loaded on site, have 5-6 api calls, , 1 rails. how go this? covers whole page until loaded.

  1. convert .loading-spinner mask (see code) hide content.
  2. when ajax done .hide() it.

$.ajax({    url: 'your_ajax',    success: function() {      hideloader()    },    error: function() {      hideloader()    }  });    function hideloader() {    $('.loading-spinner').hide();  }
@-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;  }
<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>


Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -