www.gusucode.com > KPPW众包威客PHP开源建站系统 v3.0源码程序 > KPPW/public/themes/default/assets/plugins/ace/js/fuelux/fuelux.wizard.min.js

    /*
 * Fuel UX Wizard
 * https://github.com/ExactTarget/fuelux
 *
 * Copyright (c) 2012 ExactTarget
 * Licensed under the MIT license.
 */
(function($,undefined){var old=$.fn.wizard;var Wizard=function(element,options){var kids;this.$element=$(element);this.options=$.extend({},$.fn.wizard.defaults,options);this.options.disablePreviousStep=this.$element.data().restrict==="previous"?true:false;this.currentStep=this.options.selectedItem.step;this.numSteps=this.$element.find(".wizard-steps > li").length;this.$prevBtn=this.$element.find("button.btn-prev");this.$nextBtn=this.$element.find("button.btn-next");kids=this.$nextBtn.children().detach();this.nextText=$.trim(this.$nextBtn.text());this.$nextBtn.append(kids);this.$prevBtn.on("click",$.proxy(this.previous,this));this.$nextBtn.on("click",$.proxy(this.next,this));this.$element.on("click","li.complete",$.proxy(this.stepclicked,this));if(this.currentStep>1){this.selectedItem(this.options.selectedItem)}if(this.options.disablePreviousStep){this.$prevBtn.attr("disabled",true);this.$element.find(".wizard-steps").addClass("previous-disabled")}this.$stepContainer=$(this.$element.data("target")||"body")};Wizard.prototype={constructor:Wizard,setState:function(){var canMovePrev=this.currentStep>1;var firstStep=this.currentStep===1;var lastStep=this.currentStep===this.numSteps;if(!this.options.disablePreviousStep){this.$prevBtn.attr("disabled",firstStep===true||canMovePrev===false)}var data=this.$nextBtn.data();if(data&&data.last){this.lastText=data.last;if(typeof this.lastText!=="undefined"){var text=lastStep!==true?this.nextText:this.lastText;var kids=this.$nextBtn.children().detach();this.$nextBtn.text(text).append(kids)}}var $steps=this.$element.find(".wizard-steps > li");$steps.removeClass("active").removeClass("complete");$steps.find("span.badge").removeClass("badge-info").removeClass("badge-success");var prevSelector=".wizard-steps > li:lt("+(this.currentStep-1)+")";var $prevSteps=this.$element.find(prevSelector);$prevSteps.addClass("complete");$prevSteps.find("span.badge").addClass("badge-success");var currentSelector=".wizard-steps > li:eq("+(this.currentStep-1)+")";var $currentStep=this.$element.find(currentSelector);$currentStep.addClass("active");$currentStep.find("span.badge").addClass("badge-info");var target=$currentStep.data().target;this.$stepContainer.find(".step-pane").removeClass("active");$(target).addClass("active");this.$element.trigger("changed",{currentStep:this.currentStep})},stepclicked:function(e){var li=$(e.currentTarget);var index=this.$element.find(".wizard-steps li").index(li);var canMovePrev=true;if(this.options.disablePreviousStep){if(index<this.currentStep){canMovePrev=false}}if(canMovePrev){var evt=$.Event("stepclick");this.$element.trigger(evt,{step:index+1});if(evt.isDefaultPrevented())return;this.currentStep=index+1;this.setState()}},previous:function(){var canMovePrev=this.currentStep>1;if(this.options.disablePreviousStep){canMovePrev=false}if(canMovePrev){var e=$.Event("change");this.$element.trigger(e,{step:this.currentStep,direction:"previous"});if(e.isDefaultPrevented())return;this.currentStep-=1;this.setState()}},next:function(){var canMoveNext=this.currentStep+1<=this.numSteps;var lastStep=this.currentStep===this.numSteps;if(canMoveNext){var e=$.Event("change");this.$element.trigger(e,{step:this.currentStep,direction:"next"});if(e.isDefaultPrevented())return;this.currentStep+=1;this.setState()}else if(lastStep){this.$element.trigger("finished")}},selectedItem:function(selectedItem){var retVal,step;if(selectedItem){step=selectedItem.step||-1;if(step>=1&&step<=this.numSteps){this.currentStep=step;this.setState()}retVal=this}else{retVal={step:this.currentStep}}return retVal}};$.fn.wizard=function(option){var args=Array.prototype.slice.call(arguments,1);var methodReturn;var $set=this.each(function(){var $this=$(this);var data=$this.data("wizard");var options=typeof option==="object"&&option;if(!data)$this.data("wizard",data=new Wizard(this,options));if(typeof option==="string")methodReturn=data[option].apply(data,args)});return methodReturn===undefined?$set:methodReturn};$.fn.wizard.defaults={selectedItem:{step:1}};$.fn.wizard.Constructor=Wizard;$.fn.wizard.noConflict=function(){$.fn.wizard=old;return this};$(function(){$("body").on("mouseover.wizard.data-api",".wizard",function(){var $this=$(this);if($this.data("wizard"))return;$this.wizard($this.data())})})})(window.jQuery);