第一次提交

This commit is contained in:
dengtongyu committed 2018-12-03 17:31:53 +08:00
commit 8121362a03
4412 files changed
+1091845

No files matched your search

@@ -0,0 +1,146 @@
/**
juqery ajax加载时屏蔽操作区 加入context
eg
$.ajax({
url: '/service/web/treasureHouse/showProduct',
dataType: 'json',
context:{maskId:'testArea'}
})
屏蔽 对话框中的按钮
$.ajax({
url: '/service/web/treasureHouse/showProduct',
dataType: 'json',
context: {
maskdialog: {
id: 'testDia',
button: ['btn-ok'],
}
}
})
**/
define(function(require, exports, module) {
/**
* ajax封装
* url 发送请求的地址
* data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
* dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text
* successfn 成功回调函数
* errorfn 失败回调函数
*/
$.extend({
ax: function(url, data, successfn, errorfn) {
//console.log(this);
//context: {
// maskId: this
// },
data = ($.type(data) != "object") ? {} : data;
$.ajax({
type: "get",
data: data,
url: url,
dataType: "json",
async: true,
cache: false,
//context: {
// maskId: this
//},
success: function(d) {
successfn && successfn(d);
},
error: function(e) {
errorfn && errorfn(e);
}
});
}
});
$.ajaxSetup({
beforeSend: function() {
if (this.maskId && typeof(this.maskId) == 'string') {
addMask(document.getElementById(this.maskId));
}
if (this.maskId && typeof(this.maskId) == 'object') {
addMask(this.maskId);
}
if (this.maskdialog && typeof(this.maskdialog) == 'object') {
disableDialogButton(this.maskdialog);
}
},
complete: function() {
if (this.maskId && typeof(this.maskId) == 'string') {
removeMask(document.getElementById(this.maskId));
}
if (this.maskId && typeof(this.maskId) == 'object') {
removeMask(this.maskId);
}
if (this.maskdialog && typeof(this.maskdialog) == 'object') {
removeDisable(this.maskdialog);
}
},
error: function() {}
});
function disableDialogButton(options) {
require.async('./dialog/dialog', function(dialog) {
for (var i = 0; i < options.button.length; i++) {
dialog.get(options.id)._popup.find('[data-id=' + options.button[i] + ']').attr('disabled', 'true');
}
});
}
function removeDisable(options) {
require.async('./dialog/dialog', function(dialog) {
for (var i = 0; i < options.button.length; i++) {
dialog.get(options.id)._popup.find('[data-id=' + options.button[i] + ']').removeAttr('disabled');
}
});
}
function addMask(domElement) {
if (!domElement) {
return;
}
// find X/Y position of domElement
var $div = $('#ajaxmask');
if ($div.length == 0) {
$div = document.createElement('div');
$div.id = 'ajaxmask';
with($div.style) {
position = 'absolute';
//left = '' + $(domElement) + 'px';
//top = '' + box.top + 'px';
//width = '' + $(domElement).outerWidth() + 'px';
//height = '' + $(domElement).outerHeight() + 'px';
zIndex = 1999;
filter = 'alpha(opacity=80)';
opacity = 0.8;
backgroundColor = '#fff';
backgroundImage = 'url(http://hd.vip.yy.com/activity/images/ajax_loading.gif)';
backgroundRepeat = 'no-repeat';
backgroundPosition = 'center center';
}
$($div).appendTo('body');
}
var obj = $(domElement);
var h = obj.outerHeight();
$($div).css('line-height', h + 'px').width(obj.outerWidth()).height(h).show().offset(obj.offset());
}
function removeMask(elem) {
$('#ajaxmask').hide()
}
});