在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:mstratman/jQuery-Smart-Wizard开源软件地址:https://github.com/mstratman/jQuery-Smart-Wizard开源编程语言:HTML 55.0%开源软件介绍:jQuery Smart WizardVersion 3 and later at http://mstratman.github.com/jQuery-Smart-Wizard/ NOTE: This is not being actively maintained. Original version 2 and earlier are from http://www.techlaboratory.net/products.php?product=smartwizard Licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. http://creativecommons.org/licenses/by-sa/3.0/ Getting StartedTo see some examples, please visit http://mstratman.github.com/jQuery-Smart-Wizard/ Basic Usage: $('#wizard').smartWizard(); Using with option parameters: $('#wizard').smartWizard({
// Properties
selected: 0, // Selected Step, 0 = first step
keyNavigation: true, // Enable/Disable key navigation(left and right keys are used if enabled)
enableAllSteps: false, // Enable/Disable all steps on first load
transitionEffect: 'fade', // Effect on navigation, none/fade/slide/slideleft
contentURL:null, // specifying content url enables ajax content loading
contentURLData:null, // override ajax query parameters
contentCache:true, // cache step contents, if false content is fetched always from ajax url
cycleSteps: false, // cycle step navigation
enableFinishButton: false, // makes finish button enabled always
hideButtonsOnDisabled: false, // when the previous/next/finish buttons are disabled, hide them instead
errorSteps:[], // array of step numbers to highlighting as error steps
labelNext:'Next', // label for Next button
labelPrevious:'Previous', // label for Previous button
labelFinish:'Finish', // label for Finish button
noForwardJumping:false,
ajaxType: 'POST',
// Events
onLeaveStep: null, // triggers when leaving a step
onShowStep: null, // triggers when showing a step
onFinish: null, // triggers when Finish button is clicked
buttonOrder: ['finish', 'next', 'prev'] // button order, to hide a button remove it from the list
}); Parameters and Events are describing on the table below. Downloading Smart Wizard 3NodeJS npmnpm install git://github.com/mstratman/jQuery-Smart-Wizard.git --save-dev Installing Smart Wizard 3Step 1: Include FilesInclude the following JavaScript and css files on your page.
To include the files copy and paste the below lines inside the head tag ( <script type="text/javascript" src="jquery-2.0.0.min.js"></script>
<link href="smart_wizard.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="jquery.smartWizard.js"></script> Step 2: The JavaScriptInititialize the Smart Wizard, copy and paste the below lines inside the head tag ( <script type="text/javascript">
$(document).ready(function() {
// Initialize Smart Wizard
$('#wizard').smartWizard();
});
</script> Step 3: The HTMLFinally the html, below shows the HTML markup for the Smart Wizard, You can customize it by including your on contents for each steps.
Copy and paste the below html inside the body tag ( <div id="wizard" class="swMain">
<ul>
<li><a href="#step-1">
<label class="stepNumber">1</label>
<span class="stepDesc">
Step 1<br />
<small>Step 1 description</small>
</span>
</a></li>
<li><a href="#step-2">
<label class="stepNumber">2</label>
<span class="stepDesc">
Step 2<br />
<small>Step 2 description</small>
</span>
</a></li>
<li><a href="#step-3">
<label class="stepNumber">3</label>
<span class="stepDesc">
Step 3<br />
<small>Step 3 description</small>
</span>
</a></li>
<li><a href="#step-4">
<label class="stepNumber">4</label>
<span class="stepDesc">
Step 4<br />
<small>Step 4 description</small>
</span>
</a></li>
</ul>
<div id="step-1">
<h2 class="StepTitle">Step 1 Content</h2>
<!-- step content -->
</div>
<div id="step-2">
<h2 class="StepTitle">Step 2 Content</h2>
<!-- step content -->
</div>
<div id="step-3">
<h2 class="StepTitle">Step 3 Title</h2>
<!-- step content -->
</div>
<div id="step-4">
<h2 class="StepTitle">Step 4 Title</h2>
<!-- step content -->
</div>
</div> More details & descriptions:Load ajax contentTo load the content via ajax call you need to specify the property "contentURL". example: <script type="text/javascript">
$(document).ready(function() {
// Initialize Smart Wizard with ajax content load
$('#wizard').smartWizard({contentURL:'services/ajaxcontents.php'});
});
</script> When a step got focus the SmartWizard will post the step number to this contentURL and so you can write server side logic to format the content with the step number to be shown next. The response to this call should be the content of that step in HTML format. To get the step number in php: $step_number = $_REQUEST["step_number"]; By default the SmartWizard will fetch the step content only on the first focus of the step, and cache the content and use it on the further focus of that step. But you can turn off the content cache by specifying the property "contentCache" to false. example: <script type="text/javascript">
$(document).ready(function() {
// Initialize Smart Wizard with ajax content load and cache disabled
$('#wizard').smartWizard({contentURL:'services/ajaxcontents.php',contentCache:false});
});
</script> Please see the ajax contents demo and following files on the source code to know how ajax content loading is implemented.
Input validationSmart Wizard 3 does not have in-built form validation, but you can call you own validation function for each steps or for all steps with the events. Smart Wizard 3 has three events (onLeaveStep, onShowStep, onFinish). So you can write your step validation login in "onLeaveStep" event and on validation fail you can stay on that step by cancelling that event. Validation logic for all steps can be write on "onFinish" event and so you can avoid submitting the form with errors. example: <script type="text/javascript">
$(document).ready(function(){
// Smart Wizard
$('#wizard').smartWizard({
onLeaveStep:leaveAStepCallback,
onFinish:onFinishCallback
});
function leaveAStepCallback(obj, context){
alert("Leaving step " + context.fromStep + " to go to step " + context.toStep);
return validateSteps(context.fromStep); // return false to stay on step and true to continue navigation
}
function onFinishCallback(objs, context){
if(validateAllSteps()){
$('form').submit();
}
}
// Your Step validation logic
function validateSteps(stepnumber){
var isStepValid = true;
// validate step 1
if(stepnumber == 1){
// Your step validation logic
// set isStepValid = false if has errors
}
// ...
}
function validateAllSteps(){
var isStepValid = true;
// all step validation logic
return isStepValid;
}
});
</script> Please see the step validation demo and smartwizard2-validation.php in the source code to know how step input validation is implemented. Highlight error stepsHighlighting error steps in Smart Wizard is easy $('#wizard').smartWizard('setError',{stepnum:3,iserror:true}); It takes two arguments
example: <script type="text/javascript">
$(document).ready(function() {
// Initialize Smart Wizard
$('#wizard').smartWizard();
function setError(stepnumber){
$('#wizard').smartWizard('setError',{stepnum:stepnumber,iserror:true});
}
});
</script> Show message inside the wizardAn in-built message box is available with Smart Wizard 3 and you can call it as like below $('#wizard').smartWizard('showMessage','Hello! World'); example: <script type="text/javascript">
$(document).ready(function() {
// Initialize Smart Wizard
$('#wizard').smartWizard();
function showWizardMessage(){
var myMessage = 'Hello this is my message';
// You can call this line wherever to show message inside the wizard
$('#wizard').smartWizard('showMessage',myMessage);
}
});
</script> Parameter Description:
Event Description:
Public methods:Methods can be called by calling For example, calling the showMessage method to display "Hello, World!" would look like this: $("#your_wizard").smartWizard('showMessage', 'Hello, World!'); Here are the available methods:
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论