demosite/pagify.min.js

1 line
1.2 KiB
JavaScript

(function(a){a.fn.pagify=function(d){var c=this;this.defaults={pages:[],"default":null,animation:"show",animationSpeed:"normal",animationOut:"hide",animationOutSpeed:0,onChange:function(f){},cache:false,basePagePath:""};this.settings=a.extend({},this.defaults,d);var b=function(){c.switchPage=function(f){if(!f){f=window.location.hash.replace("#","")||c.settings["default"]}if(c.settings.cache){a(c)[c.settings.animationOut](c.settings.animationOutSpeed,function(){a(c).html(c.pages[f])[c.settings.animation](c.settings.animationSpeed)});c.settings.onChange(f)}else{a.get(c.settings.basePagePath+f+".html",function(g){a(c)[c.settings.animationOut](c.settings.animationOutSpeed,function(){a(c).html(g)[c.settings.animation](c.settings.animationSpeed)});c.settings.onChange(f)},"text")}};a(window).bind("hashchange",function(){c.switchPage()});if(window.location.hash){c.switchPage()}else{if(c.settings["default"]){c.switchPage(c.settings["default"])}}};if(c.settings.basePagePath.indexOf("/",c.settings.basePagePath.length-2)===-1){c.settings.basePagePath+="/"}if(c.settings.cache){c.pages={};var e=c.settings.pages.length;a.each(c.settings.pages,function(f,g){a.get(c.settings.basePagePath+g+".html",function(h){c.pages[g]=h;e--;if(!e){b()}},"text")})}else{b()}}})(jQuery);