Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<link rel="stylesheet" href="css/prettyLoader.css" type="text/css" media="screen" charset="utf-8" />

<script src="js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery-1.10.1.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.prettyLoader.js" type="text/javascript" charset="utf-8"></script>

<style type="text/css" media="screen">
Expand All @@ -27,4 +27,4 @@
$.prettyLoader();
</script>
</body>
</html>
</html>
6 changes: 6 additions & 0 deletions js/jquery-1.10.1.min.js

Large diffs are not rendered by default.

19 changes: 0 additions & 19 deletions js/jquery-1.3.2.min.js

This file was deleted.

203 changes: 100 additions & 103 deletions js/jquery.prettyLoader.js
Original file line number Diff line number Diff line change
@@ -1,107 +1,104 @@
/* ------------------------------------------------------------------------
Class: prettyLoader
Use: A unified solution for AJAX loader
Author: Stephane Caron (http://www.no-margin-for-errors.com)
Version: 1.0.1
Class: prettyLoader
Use: A unified solution for AJAX loader
Author: Stephane Caron (http://www.no-margin-for-errors.com)
Version: 1.0.1
------------------------------------------------------------------------- */

(function($) {
$.prettyLoader = {version: '1.0.1'};

$.prettyLoader = function(settings) {
settings = jQuery.extend({
animation_speed: 'fast', /* fast/normal/slow/integer */
bind_to_ajax: true, /* true/false */
delay: false, /* false OR time in milliseconds (ms) */
loader: '/images/prettyLoader/ajax-loader.gif', /* Path to your loader gif */
offset_top: 13, /* integer */
offset_left: 10 /* integer */
}, settings);

scrollPos = _getScroll();

imgLoader = new Image();
imgLoader.onerror = function(){
alert('Preloader image cannot be loaded. Make sure the path is correct in the settings and that the image is reachable.');
};
imgLoader.src = settings.loader;

if(settings.bind_to_ajax)
jQuery(document).ajaxStart(function(){ $.prettyLoader.show() }).ajaxStop(function(){ $.prettyLoader.hide() });

$.prettyLoader.positionLoader = function(e){
e = e ? e : window.event;

// Set the cursor pos only if the even is returned by the browser.
cur_x = (e.clientX) ? e.clientX : cur_x;
cur_y = (e.clientY) ? e.clientY : cur_y;

left_pos = cur_x + settings.offset_left + scrollPos['scrollLeft'];
top_pos = cur_y + settings.offset_top + scrollPos['scrollTop'];

$('.prettyLoader').css({
'top':top_pos,
'left':left_pos
});
}

$.prettyLoader.show = function(delay){
if($('.prettyLoader').size() > 0) return;

// Get the scroll position
scrollPos = _getScroll();

// Build the loader container
$('<div></div>')
.addClass('prettyLoader')
.addClass('prettyLoader_'+ settings.theme)
.appendTo('body')
.hide();

// No png for IE6...sadly :(
if($.browser.msie && $.browser.version == 6)
$('.prettyLoader').addClass('pl_ie6');

// Build the loader image
$('<img />')
.attr('src',settings.loader)
.appendTo('.prettyLoader');

// Show it!
$('.prettyLoader').fadeIn(settings.animation_speed);

$(document).bind('click',$.prettyLoader.positionLoader);
$(document).bind('mousemove',$.prettyLoader.positionLoader);
$(window).scroll(function(){ scrollPos = _getScroll(); $(document).triggerHandler('mousemove'); });

delay = (delay) ? delay : settings.delay;

if(delay){
setTimeout(function(){ $.prettyLoader.hide() }, delay);
}
};

$.prettyLoader.hide = function(){
$(document).unbind('click',$.prettyLoader.positionLoader);
$(document).unbind('mousemove',$.prettyLoader.positionLoader);
$(window).unbind('scroll');

$('.prettyLoader').fadeOut(settings.animation_speed,function(){
$(this).remove();
});
};

function _getScroll(){
if (self.pageYOffset) {
return {scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset};
} else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
return {scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft};
} else if (document.body) {// all other Explorers
return {scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft};
};
};

return this;
};

})(jQuery);
$.prettyLoader = {version: '2.0.0'};

$.prettyLoader = function(settings) {
settings = jQuery.extend({
animation_speed: 'fast', /* fast/normal/slow/integer */
bind_to_ajax: true, /* true/false */
delay: false, /* false OR time in milliseconds (ms) */
loader: 'images/prettyLoader/ajax-loader.gif', /* Path to your loader gif */
offset_top: 13, /* integer */
offset_left: 10 /* integer */
}, settings);

scrollPos = _getScroll();

imgLoader = new Image();
imgLoader.onerror = function(){
console.log('Preloader image cannot be loaded. Make sure the path is correct in the settings and that the image is reachable.');
console.log(settings.loader);
};
imgLoader.src = settings.loader;

if(settings.bind_to_ajax)
jQuery(document).ajaxStart(function(){ $.prettyLoader.show() }).ajaxStop(function(){ $.prettyLoader.hide() });

$.prettyLoader.positionLoader = function(e){
e = e ? e : window.event;

// Set the cursor pos only if the even is returned by the browser.
cur_x = (e.clientX) ? e.clientX : cur_x;
cur_y = (e.clientY) ? e.clientY : cur_y;

left_pos = cur_x + settings.offset_left + scrollPos['scrollLeft'];
top_pos = cur_y + settings.offset_top + scrollPos['scrollTop'];

$('.prettyLoader').css({
'top':top_pos,
'left':left_pos
});
}

$.prettyLoader.show = function(delay){
if($('.prettyLoader').size() > 0) return;

// Get the scroll position
scrollPos = _getScroll();

// Build the loader container
$('<div></div>')
.addClass('prettyLoader')
.addClass('prettyLoader_'+ settings.theme)
.appendTo('body')
.hide();

// Build the loader image
$('<img />')
.attr('src',settings.loader)
.appendTo('.prettyLoader');

// Show it!
$('.prettyLoader').fadeIn(settings.animation_speed);

$(document).bind('click',$.prettyLoader.positionLoader);
$(document).bind('mousemove',$.prettyLoader.positionLoader);
$(window).scroll(function(){ scrollPos = _getScroll(); $(document).triggerHandler('mousemove'); });

delay = (delay) ? delay : settings.delay;

if(delay){
setTimeout(function(){ $.prettyLoader.hide() }, delay);
}
};

$.prettyLoader.hide = function(){
$(document).unbind('click',$.prettyLoader.positionLoader);
$(document).unbind('mousemove',$.prettyLoader.positionLoader);
$(window).unbind('scroll');

$('.prettyLoader').fadeOut(settings.animation_speed,function(){
$(this).remove();
});
};

function _getScroll(){
if (self.pageYOffset) {
return {scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset};
} else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
return {scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft};
} else if (document.body) {// all other Explorers
return {scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft};
};
};

return this;
};

})(jQuery);