odex25_standard/odex25_donation/affiliate_management/static/loader/jquery.loader.js

94 lines
2.3 KiB
JavaScript

/*
* jQuery Loader Plugin
* @version: 2.0.0
* @requires jQuery v1.2.2 or later
* @author : ${author}
* @see : ${demoURL}
* Small loader
* usage : $.loader();
* $.loader(options) -> options =
* {
*
* }
*
* To close loader : $.loader("close");
*
*/
var jQueryLoaderOptions = null;
(function($) {
$.loader = function(option){
switch(option)
{
case 'close':
if(jQueryLoaderOptions){
if($("#"+jQueryLoaderOptions.id)){
$("#"+jQueryLoaderOptions.id +", #"+jQueryLoaderOptions.background.id).remove();
}
}
return;
case 'setContent':
if(jQueryLoaderOptions){
if($("#"+jQueryLoaderOptions.id)){
if(arguments.length == 2)
{
$("#"+jQueryLoaderOptions.id).html(arguments[1]);
}else{
if(console){
console.error("setContent method must have 2 arguments $.loader('setContent', 'new content');");
}else{
alert("setContent method must have 2 arguments $.loader('setContent', 'new content');");
}
}
}
}
return;
default:
var options = $.extend({
content:"Loading ...",
className:'loader',
id:'jquery-loader',
height:60,
width:200,
zIndex:30000,
background:{
opacity:0.4,
id:'jquery-loader-background'
}
}, option);
}
jQueryLoaderOptions = options;
var maskHeight = $(document).height();
var maskWidth = $(window).width();
var bgDiv = $('<div id="'+options.background.id+'"/>');
bgDiv.css({
zIndex:options.zIndex,
position:'absolute',
top:'0px',
left:'0px',
width:maskWidth,
height:maskHeight,
opacity:options.background.opacity
});
bgDiv.appendTo("body");
if(jQuery.bgiframe){
bgDiv.bgiframe();
}
var div = $('<div id="'+options.id+'" class="'+options.className+'"></div>');
div.css({
zIndex:options.zIndex+1,
width:options.width,
height:options.height
});
div.appendTo('body');
div.center();
div.html(options.content);
//$(options.content).appendTo(div);
};
$.fn.center = function () {
this.css("position","absolute");
this.css("top", ( $(window).height() - this.outerHeight() ) / 2+$(window).scrollTop() + "px");
this.css("left", ( $(window).width() - this.outerWidth() ) / 2+$(window).scrollLeft() + "px");
return this;
};
})(jQuery);