先前写工具类都是自定义类,直接prototype,jQuery扩展这一块儿,一直也没写过,刚好今天有空,写个试试。

已经有很多人对jQuery,jQuery.fn,jQuery.fn.extend详细说明过了,此处不再赘述,直接上代码。

jQuery.ibt = {

    // 定义全局常量

    showLoading : function (mask) { // 显示遮罩层
var _html = "";
if (mask) {
_html = "<div id='pop_mask' style='width: 100%;height: 100%;position: fixed; top: 0;left: 0;background-color: rgba(0,0,0,0.5);z-index: 99;display:none;'>";
} else {
_html = "<div id='pop_mask' style='width: 100%;height: 100%;position: fixed; top: 0;left: 0;background-color: transparent;z-index: 99;display:none;'></div>"; }
$("body").append(_html);
$("#pop_mask").fadeIn("fast");
}, hideLoading : function () { // 隐藏遮罩层
$("#pop_mask").fadeOut("fast");
}, handleError : function () { // 处理错误 }, ajax : function (opt) { // 自定义ajax请求 var defaults = { // 默认值
type : 'get',
mask : false, //蒙板
async : true, // 异步
cache : true, // 缓存
dataType : 'json', // 返回数据类型
timeout : 8000, // 最长请求时限
contentType : 'application/json', // 数据格式
}; var opts = jQuery.extend(defaults, opt); jQuery.ajax({
url : opts.url,
type : opts.type,
data : opts.data,
async : opts.async,
cache : opts.cache,
dataType : opts.dataType,
timeout : opts.timeout,
contentType : opts.contentType,
success : opts.success,
beforeSend : function () {
$.ibt.showLoading(opts.mask);
},
complete : function (res) {
if (res.statusText == "timeout") {
console.error("the request timeout");
}
$.ibt.hideLoading();
}
});
},
};

学习之后的实践,欢迎拍砖。

最新文章

  1. 监视EntityFramework中的sql流转你需要知道的三种方式Log,SqlServerProfile, EFProfile
  2. npm全局安装和本地安装和本地开发安装(npm install --g/--save/--save-dev)
  3. js 循环
  4. mat工具MemoryAnalyzer进行分析java内存溢出hprof文件
  5. mysql 行锁
  6. leetcode 116 Populating Next Right Pointers in Each Node ----- java
  7. C++ Vector 动态数组
  8. WSAAsyncSelect模型
  9. [置顶] CF 86D Powerful array 分块算法入门,n*sqrt(n)
  10. JS左侧菜单-04
  11. Golang访问Redis初体验
  12. hdfs创建删除文件和文件夹
  13. Python小白 哆唻a梦 用turtle绘图
  14. QQ群成员发言次数统计(正则表达式版)
  15. python show slave status
  16. WPF中TextBox文件拖放问题
  17. nyoj737石子合并(一)
  18. Lambda 表达式语法
  19. 【Andorid开发框架学习】之Volley入门
  20. ES查询index对应的mapping信息

热门文章

  1. 【09】绝不在构造和析构过程中调用virtual方法
  2. nginx利用image_filter动态生成缩略图
  3. Linux HugePages及MySQL 大页配置
  4. HTTP 无法注册 URL http://+:12345/HelloWcfService/。进程不具有此命名空间的访问权限
  5. eclipse中不能找到dubbo.xsd解决方法
  6. 导入MyEclipse项目乱码
  7. Android Studio配置Dagger2 以及butterknife
  8. mapping 详解3(Meta-Fields)
  9. 关于SWT中的Label类和Text类
  10. unique函数 (STL)