Revision: 37699
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 15, 2010 09:50 by touffies
Initial Code
/* ------------------------------------------------------------------
switchSize ------------------------------------------------------- */
$.fn.switchSize = function(settings) {
// defaults settings
settings = $.extend({
container: 'body',
arrSizeClass: ['small', 'medium', 'large'],
defaultClass: 'medium',
saveCookie: true
}, settings);
var $container = $(settings.container);
return this
.each(function() {
if ($.cookie('switchSize')) { $container.addClass($.cookie('switchSize')); $(this).data("current", $.cookie('switchSize')) }
})
.bind("click", function() {
var pos;
if ($(this).data("current")) {
pos = jQuery.inArray($(this).data("current"), settings.arrSizeClass);
} else {
pos = jQuery.inArray(settings.defaultClass, settings.arrSizeClass);
}
if (pos >= 0) { //Found Class
if (pos == settings.arrSizeClass.length - 1) { //Check if last
$(this).data("current", settings.arrSizeClass[0]);
} else {
$(this).data("current", settings.arrSizeClass[pos + 1]);
}
} else {
//To prevent error
$(this).data("current", settings.arrSizeClass[0]);
}
$container.removeClass(settings.arrSizeClass[pos]).addClass($(this).data("current"));
if (settings.saveCookie === true) {
$.cookie('switchSize', $(this).data("current"), { expires: 365, path: '/' });
}
});
};
Initial URL
Initial Description
# Need $.cookie plugin
Initial Title
Font Size Switcher
Initial Tags
jquery
Initial Language
jQuery