Ajax Loader
HTML
<html>
1
<html>
2
  <head>
3
    <title>Rotating Plane</title>
4
    <script type="text/javascript" src="//code.jquery.com/jquery-2.0.3.min.js"></script>
5
    
6
  </head>
7
  <body>
8
     <div class="spinner">
9
      <div class="bounce1"></div>
10
      <div class="bounce2"></div>
11
      <div class="bounce3"></div>
12
    </div>
13
  </body>
14
</html>
 
CSS
    body {
1
    body {
2
      background: #555;
3
    }
4
 
5
    .spinner {
6
      margin: 100px auto 0;
7
      width: 70px;
8
      text-align: center;
9
  transform:scale(50%);
10
    }
11
 
12
    .spinner > div {
13
      width: 18px;
14
      height: 18px;
15
      background-color: #333;
16
 
17
      border-radius: 100%;
18
      display: inline-block;
19
      -webkit-animation: bouncedelay 1.4s infinite ease-in-out;
20
      animation: bouncedelay 1.4s infinite ease-in-out;
21
      /* Prevent first frame from flickering when animation starts */
22
      -webkit-animation-fill-mode: both;
23
      animation-fill-mode: both;
24
    }
25
 
26
    .spinner .bounce1 {
27
      -webkit-animation-delay: -0.32s;
28
      animation-delay: -0.32s;
29
    }
30
 
31
    .spinner .bounce2 {
32
      -webkit-animation-delay: -0.16s;
33
      animation-delay: -0.16s;
34
    }
35
 
36
    @-webkit-keyframes bouncedelay {
37
      0%, 80%, 100% { -webkit-transform: scale(0.0) }
38
      40% { -webkit-transform: scale(1.0) }
39
    }
40
 
41
    @keyframes bouncedelay {
42
      0%, 80%, 100% {
43
        transform: scale(0.0);
44
        -webkit-transform: scale(0.0);
45
      } 40% {
46
        transform: scale(1.0);
47
        -webkit-transform: scale(1.0);
48
      }
49
    }
 
JavaScript
      function browserSupportsCSSProperty(propertyName) {
1
      function browserSupportsCSSProperty(propertyName) {
2
        var elm = document.createElement('div');
3
        propertyName = propertyName.toLowerCase();
4
 
5
        if (elm.style[propertyName] != undefined)
6
          return true;
7
 
8
        var propertyNameCapital = propertyName.charAt(0).toUpperCase() + propertyName.substr(1),
9
          domPrefixes = 'Webkit Moz ms O'.split(' ');
10
 
11
        for (var i = 0; i < domPrefixes.length; i++) {
12
          if (elm.style[domPrefixes[i] + propertyNameCapital] != undefined)
13
            return true;
14
        }
15
 
16
        return false;
17
      }
18
 
19
      if (!browserSupportsCSSProperty('animation')) {
20
        $('.bounce1, .bounce2, .bounce3').hide();
21
        $('.spinner').css({
22
          'background':'transparent url(https://dl.dropboxusercontent.com/u/11510916/fiddles/spinkit/spinner-fallback.gif) no-repeat',
23
          'background-size':'70% 70%',
24
          'height':'70px'
25
        });
26
      }
 

SpinKit

CSSDeck G+