/ Published in: jQuery
# Need $.cookie plugin
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
/* ------------------------------------------------------------------ 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: '/' }); } }); };