Ajax异步请求的时候,一般都会利用一个动态的gif小图片来制作一个Ajax Loading,以便增加用户体验。

  这里我们可以使用Spin.js,该js脚本压缩后5k,可以不用任何图片,任何外部CSS样式,就可以创建一个Ajax Loading指示器。

  Spin.js的在线设计、演示及下载地址为:http://fgnass.github.io/spin.js/

  我们可以在链接页面中,动态设置样式,就会自动生成样式的配置脚本:

  

  设置之后,下图就是我们需要配置的样式:

一、显示菊花loading 

 

 <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="spin.min.js"></script>
      </head>
      <body>
        <div id="loading"></div>
        <script>
          var opts = {
            lines: // The number of lines to draw
            , length: // The length of each line
            , width: // The line thickness
            , radius: // The radius of the inner circle
            , scale: // Scales overall size of the spinner
            , corners: // Corner roundness (0..1)
            , color: '#000' // #rgb or #rrggbb or array of colors
            , opacity: 0.25 // Opacity of the lines
            , rotate: // The rotation offset
            , direction: // 1: clockwise, -1: counterclockwise
            , speed: // Rounds per second
            , trail: // Afterglow percentage
            , fps: // Frames per second when using setTimeout() as a fallback for CSS
            , zIndex: 2e9 // The z-index (defaults to 2000000000)
            , className: 'spinner' // The CSS class to assign to the spinner
            , top: '50%' // Top position relative to parent
            , left: '50%' // Left position relative to parent
            , shadow: false // Whether to render a shadow
            , hwaccel: false // Whether to use hardware acceleration
            , position: 'absolute' // Element positioning
          }
          var target = document.getElementById('loading')
          var spinner = new Spinner(opts).spin(target);
          //隐藏spinner
          //spinner.spin();
      </script>
    </body>
  </html>

二、ajax加载菊花loading效果

  //loadAjaxSpin函数的作用是ajax调用开始前出现loading图标,数据加载完成后loading图标消失  

  

<!DOCTYPE html>
  <html>
    <head>
      <meta charset="UTF-8">
      <title></title>
      <script src="spin.min.js"></script>
      <script src="jquery-1.10.2.js"></script>
    </head>
    <body>
      <div class="spin"></div>
      <input type="button" id="btnRequest" value="请求数据"/>
      <script>
      //第一个参数为loading图标加载的标签,第二个为ajax的数据接口,第三个为回调函数
      function loadAjaxSpin(ele,get_url,callback){
        var opts = {
          lines: , // 花瓣数目
          length: , // 花瓣长度
          width: , // 花瓣宽度
          radius: , // 花瓣距中心半径
          scale: ,
          corners: , // 花瓣圆滑度 (0-1)
          color: '#000', // 花瓣颜色
          opacity: 0.25,
          rotate: , // 花瓣旋转角度
          direction: , // 花瓣旋转方向 1: 顺时针, -1: 逆时针
          speed: , // 花瓣旋转速度
          trail: , // 花瓣旋转时的拖影(百分比)
          zIndex: 2e9, // spinner的z轴 (默认是2000000000)
          className: 'spinner', // spinner css 样式名称
          top: '50%', // spinner 相对父容器Top定位 单位 px
          left: '50%', // spinner 相对父容器Left定位 单位 px
          shadow: false, // 花瓣是否显示阴影
          hwaccel: false, //spinner 是否启用硬件加速及高速旋转
          position: 'absolute'
        };
        var spinner=new Spinner(opts);
        $(ele).show();
        var target=$(ele)[];
        spinner.spin(target);
        $.ajax({
          url:get_url,
          dataType:'html',
          success:function(data){
            //隐藏菊花
            spinner.spin();
            $(ele).hide();
            callback(data);
          }
        })
      }
      var foo=function(data){
        console.log(data);
      }
      $(function(){
        $('#btnRequest').on('click',function(){
          loadAjaxSpin('.spin', 'http://192.168.1.191/h5/font.html', foo);
        })
      })
    </script>
  </body>
</html>

上述代码的效果:点击后显示出菊花,等ajax加载成功之后菊花隐藏,执行回调函数。

  

参考原文:http://www.cnblogs.com/woodk/p/5364995.html

ajax加载菊花loading效果的更多相关文章

  1. Ajax加载菊花loding效果

    Ajax 异步请求的时候,一般都会利用一个动态的 gif小图片来制作一个Ajax Loading ,以便增加用户体验. 这里我们使用Spin.js ,该 js 脚本压缩后5k,可以不用任何图片,任何外 ...

  2. JQuery+CSS3实现Ajax加载时loading效果

    之前通过Ajax请求加载数据的时候,在数据还没有呈现出来前,为了更好的用户体验,总会弄个loading告诉用户其实内容正在加载,而不是网站崩了.但是貌似之前使用gif图片的情况比较多,可能是为了兼容各 ...

  3. 页面加载时loading效果

    页面加载时loading效果: <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  4. Ajax全局加载框(Loading效果)的配置

    在Ajax进行后台数据请求的过程中,我们有时候会希望用户能知道页面后台还在做一些事情,这时候就需要给用户一个非常明确的提示,也就是我们所谓的进度条 废话完成~ 实现原理: Jquery可以对ajax进 ...

  5. Android进度加载的Loading效果

    网上看到的一个开源项目的loading效果,效果很赞,记录一下: 开源项目地址如下:https://github.com/RomainPiel/Titanic

  6. Vue通过状态为页面切换添加loading、为ajax加载添加loading

    以下方法需要引入vuex,另使用了vux的UI框架,ajax添加loading还引入了axios. 一.为页面切换添加loading. loading.js: import Vue from 'vue ...

  7. fakeLoader页面加载前loading演示8种效果

    提高用户体验的插件fakeLoader页面加载前loading演示8种效果 在线预览 下载地址 示例代码 <div id="main"> <div class=& ...

  8. 《动手实现一个网页加载进度loading》

    loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在刷新和加载的过程中为了让用户感知到 load 的过程,我们会使用一些过渡动画来表达.最常见的比如"转圈圈" ...

  9. jQuery Mobile 手动显示ajax加载器,提示加载中...

    在使用jQuery Mobile开发时,有时候我们需要在请求ajax期间,显示加载提示框(例如:一个旋转图片+一个提示:加载中...).这个时候,我们可以手动显示jQuery Mobile的加载器,大 ...

随机推荐

  1. java飞机大战之子弹的自动生成

    import java.awt.Graphics; import java.util.ArrayList; import javax.swing.JFrame; import javax.swing. ...

  2. 虚拟机VMware的安装以及指南

    VMware是一个非常强大的虚拟软件,它的更新速度非常的快,随着软件的更新速度的加快,它的大小会越来越大,但是新的版本大多数会是给企业使用的,对于我们而言,不那么的需要,所以,我们只需要使用一些差不多 ...

  3. re 模块 常用正则表达式符号 最常用的匹配语法

      常用正则表达式符号1 '.'     默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 '^'     匹配字符开头,若指定flags MULTILINE, ...

  4. java多线程环境单例模式实现详解

    Abstract 在开发中,如果某个实例的创建需要消耗很多系统资源,那么我们通常会使用惰性加载机制,也就是说只有当使用到这个实例的时候才会创建这个实例,这个好处在单例模式中得到了广泛应用.这个机制在s ...

  5. phper 需要学习js

  6. ROS Learning-018 Arduino-For-ROS-003 (总结篇) 模板程序 即 如何运行

    Arduino For ROS-003 - (总结篇) 模板程序 即 如何运行 我的Ubuntu系统:Ubuntu 14.04.10 TLS 32位 Arduino的版本:Arduino 1.6.11 ...

  7. 去掉utf-8的Bom头:使用java以及jdbc不使用第三方库执行sql文件脚本

    package com.xxx.xxx.dao; import java.io.BufferedReader; import java.io.File; import java.io.FileInpu ...

  8. SDUT 3404 数据结构实验之排序七:选课名单.!?

    数据结构实验之排序七:选课名单 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 随着学校规模 ...

  9. 数据结构_find_lucky_number(寻找幸运值)

    数据结构_find_lucky_number(寻找幸运值) 问题描述 给出两个已按升序排列的数组 a[1..n],b[1..m],如果存在 i,j,使得a[i]+b[j]==k,我们便说已找到幸运值. ...

  10. win7搭建TensorFlow环境

    官网安装指南地址:https://www.tensorflow.org/install/pip 安装过程碰到的问题: 1.创建虚拟环境 virtualenv --system-site-package ...