模态框缓冲效果实现

项目模态框是通过ajax异步来获得数据的,这就造成一个问题,当请求过多或数据量太大,数据展现的不是很及时,用户体验不是很好。于是想到通过缓冲效果来增强用户体验。

步骤:

  1. jquery的ajaxStart(callback) 方法 及ajaxStop(callback)
    通过这两个方法判断ajax异步请求是否结束。
  2. 通过Spin.js 实现缓冲效果。

简介:

ajaxStart(callback) AJAX 请求开始时执行方法。

示例
         $("#loading").ajaxStart(function(){
           $(this).show();
         });
     ajaxStop AJAX 请求结束时执行方法。
        ```
示例
          $("#loading").ajaxStop(function(){
           $(this).hide();
         });
     注:在jquery1.8以上 执行上面方法需要加 $(document) 即:
$(document).ajaxStart(function(){...};
     spin.js
     http://www.cnblogs.com/lxblog/p/3425599.html

过程:

导入js

<script src="statics/js/jquery-2.1.4.min.js" type="text/javascript" ></script> 
<script src="statics/js/spin.js" type="text/javascript" ></script>

    <script type="text/javascript">
            //定义花瓣样式
            var opts = {
            lines: 13, // 花瓣数目
            length: 15, // 花瓣长度
            width: 10, // 花瓣宽度
            radius: 20, // 花瓣距中心半径
            corners: 1, // 花瓣圆滑度 (0-1)
            rotate: 0, // 花瓣旋转角度
            direction: 1, // 花瓣旋转方向 1: 顺时针, -1: 逆时针
            color: '#5882FA', // 花瓣颜色
            speed: 1, // 花瓣旋转速度
            trail: 60, // 花瓣旋转时的拖影(百分比)
            shadow: true, // 花瓣是否显示阴影
            hwaccel: false, //spinner 是否启用硬件加速及高速旋转
            className: 'spinner', // spinner css 样式名称
            zIndex: 2e9, // spinner的z轴 (默认是2000000000)
            top: '50%', // spinner 相对父容器Top定位 单位 px
            left: '50%'// spinner 相对父容器Left定位 单位 px
        };

        var spinner = new Spinner(opts);

        //当点击模态框时执行的方法。
        function  showFlower(){
             //                ajax开始执行
                $(document).ajaxStart(function(){
                    var target = $("#panel-body").get(0); //panel-body为我右侧页面div的id.我的页面布局为左侧菜单栏右侧主体内容。
                    spinner.spin(target);//打开缓冲效果
                });
             //                ajax结束执行
                $(document).ajaxStop(function(){
                    spinner.spin(); //隐藏缓冲效果
                });
                .
                .
                .
                其他方法体
        }
        </script>

如果您有更好的方法也欢迎提出来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值