你的位置:首页 > Java教程

[Java教程]jQuery 扩展 【ajax实例】


先前写工具类都是自定义类,直接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();      }    });  },};

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