自定义扩展jquery的ajax方法添加maskLoader

  使用Jquery的ajax方法的时候,由于$.ajax()需要在beforeSend添加Loading的效果,但是鉴于每次使用的beforeSend的Loading效果

相差不大,为了避免麻烦,所以自己重新定义$.ajaxSetup方法来达到好的扩展使用,只要引入js文件就可以设置是否使用Loading的效果

样式:

定义方法如下: 首先编写ajax_extend.js文件

$(function(){
    $.ajaxSetup({
        beforeSend:function(jqXHR,options){              
            if(options.maskLoader){ //使用maskLoader效果	
             var eTip = document.createElement('div');  
            eTip.setAttribute('id', 'tipDiv');  
            eTip.style.position = 'absolute';  
            eTip.style.display = 'none';  
            eTip.style.border = 'solid 0px #D1D1D1';  
            eTip.style.backgroundColor = '#4B981D'; 
            eTip.style.top = '0px';  
            eTip.style.left = '500px';  
            eTip.style.width = '150px';
            eTip.style.textAlign = 'center'; 
            eTip.innerHTML = '<img src=\'ajax_loader.gif\' style=\'float:left;\' />  <span style=\'color:#ffffff; font-size:12px\'>' + '正在加载'+ '</span>'
            document.body.appendChild(eTip);
             $("#tipDiv").css("float", "right");  
             $("#tipDiv").css("z-index", "99");  
             $('#tipDiv').fadeIn();
            }
        },
        complete:function(jqXHR,options){
            $('#tipDiv').fadeOut();
        }
    });
});
测试页面中只要引入该js文件在$.ajax定义 maskLoader:true就可以使用maskLoader的效果。测试页面如下所示:


<html>
    <head>
        <title>定义ajax_setup</title>
        <script src="lib/jquery-1.8.3.min.js" type="text/javascript"></script>      
        <script src="lib/ajax_extend.js" type="text/javascript"></script>
    </head>
    <body>
        <div id="mask">
            
        </div>
        <input type="button" id="start_ajax" value="点击加载" >
        <script type="text/javascript">
            $('#start_ajax').click(function(){
                $.ajax({
                    url:'Json.php',
                    type:'get',
                    dataType:'json',
                    maskLoader:true,
                    success:function(data){
                        console.info(data);
                    },
                    error:function(data){
                        console.log(data);
                    }
                });
            });
       
       </script>
        
    </body>
      
</html>

效果如下图所示:


简单便捷。。。同理如果每次都要进行传输一定的参数,也可以通过加入到$.ajaxSetup里面,来减少代码量。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值