基于jquery实现一个滚动的分步注册向导-附源码


Posted in Javascript onAugust 26, 2015

先给大家展示效果图,需要的朋友可以下载源码哦~

基于jquery实现一个滚动的分步注册向导-附源码

查看演示        下载源码

HTML

首先要载入jquery库和滚动插件scrollable.js

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="scrollable.js"></script>

接着构造html主体结构。

<form action="#" method="post"> 
 <div id="wizard"> 
 <ul id="status"> 
 <li class="active"><strong>1.</strong>创建账户</li> 
 <li><strong>2.</strong>填写联系信息</li> 
 <li><strong>3.</strong>完成</li> 
 </ul> 
 
 <div class="items"> 
 <div class="page"> 
  -----任意html内容----- 
  <div class="btn_nav"> 
  <input type="button" class="next right" value="下一步»" /> 
  </div> 
 </div> 
 <div class="page"> 
  -----任意html内容----- 
  <div class="btn_nav"> 
  <input type="button" class="prev" style="float:left" value="«上一步" /> 
  <input type="button" class="next right" value="下一步»" /> 
  </div> 
 </div> 
 <div class="page"> 
  -----任意html内容----- 
  <div class="btn_nav"> 
  <input type="button" class="prev" style="float:left" value="«上一步" /> 
  <input type="button" class="next right" id="sub" value="确定" /> 
  </div> 
 </div> 
 </div> 
 </div> 
</form>

以上是一个注册表单,注意在三个.page里可以填写任何你想要的html表单内容。限于篇幅本文没有列出表单具体内容。

CSS

#wizard {border:5px solid #789;font-size:12px;height:450px;margin:20px auto; 
width:570px;overflow:hidden;position:relative;} 
#wizard .items{width:20000px; clear:both; position:absolute;} 
#wizard .right{float:right;} 
#wizard #status{height:35px;background:#123;padding-left:25px !important;} 
#status li{float:left;color:#fff;padding:10px 30px;} 
#status li.active{background-color:#369;font-weight:normal;} 
.input{width:240px; height:18px; margin:10px auto; line-height:20px; 
border:1px solid #d3d3d3; padding:2px} 
.page{padding:20px 30px;width:500px;float:left;} 
.page h3{height:42px; font-size:16px; border-bottom:1px dotted #ccc; margin-bottom:20px; 
 padding-bottom:5px} 
.page h3 em{font-size:12px; font-weight:500; font-style:normal} 
.page p{line-height:24px;} 
.page p label{font-size:14px; display:block;} 
.btn_nav{height:36px; line-height:36px; margin:20px auto;} 
.prev,.next{width:100px; height:32px; line-height:32px; background:url(btn_bg.gif) 
repeat-x bottom; border:1px solid #d3d3d3; cursor:pointer}

您可以根据实际应用环境修改css,来体现不同的外观。

jQuery

毋庸置疑,和其他插件一样,直接调用方法。

$(function(){ 
 $("#wizard").scrollable(); 
});

就是这么简单,现在可以通过单击下一步切换步骤了,但有问题是导航的步骤标题tab样式没有同时切换,点击下一步时应该验证当前表单输入的合法性。值得庆幸的是,两个方法使得问题变得很简单了。

onSeek:function();当滚动当前page后发生的事情,本例中我们要切换tab样式。
onBeforeSeek:function();滚动之前发生的事情,本例中我们要验证表单。

请看代码:

$(function(){ 
 $("#wizard").scrollable({ 
 onSeek: function(event,i){ //切换tab样式 
  $("#status li").removeClass("active").eq(i).addClass("active"); 
 }, 
 onBeforeSeek:function(event,i){ //验证表单 
  if(i==1){ 
  var user = $("#user").val(); 
  if(user==""){ 
   alert("请输入用户名!"); 
   return false; 
  } 
  var pass = $("#pass").val(); 
  var pass1 = $("#pass1").val(); 
  if(pass==""){ 
   alert("请输入密码!"); 
   return false; 
  } 
  if(pass1 != pass){ 
   alert("两次密码不一致!"); 
   return false; 
  } 
  } 
 } 
 }); 
});

最后,要提交表单,获取表单的值,你可以在最后一步“确定”按钮上绑定submit()方法,通过action提交表单。本文为了演示,采用以下方法获取输入的内容:

$("#sub").click(function(){ 
 var data = $("form").serialize(); 
 alert(data); 
});
Javascript 相关文章推荐
jQuery 动态酷效果实现总结
Dec 27 Javascript
JQuery调用WebServices的方法和4个实例
May 06 Javascript
javascript 回调函数详解
Nov 11 Javascript
JS实现弹性漂浮效果的广告代码
Sep 02 Javascript
JS数组合并push与concat区别分析
Dec 17 Javascript
javascript简单判断输入内容是否合法的方法
May 11 Javascript
JavaScript中的splice方法用法详解
Jul 20 Javascript
VC调用javascript的几种方法(推荐)
Aug 09 Javascript
Backbone View 之间通信的三种方式
Aug 09 Javascript
javascript代码优化的8点总结
Jan 29 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
Jul 09 Javascript
VUE注册全局组件和局部组件过程解析
Oct 10 Javascript
jQuery带时间的日期控件代码分享
Aug 26 #Javascript
js仿苹果iwatch外观的计时器代码分享
Aug 26 #Javascript
jQuery下拉友情链接美化效果代码分享
Aug 26 #Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
Aug 26 #Javascript
jquery实现平滑的二级下拉菜单效果
Aug 26 #Javascript
纯javascript实现分页(两种方法)
Aug 26 #Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
Aug 26 #Javascript
You might like
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
详解ES6中的let命令
2020/04/05 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
JS实现商品筛选功能
2020/08/19 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
Python实现对象转换为xml的方法示例
2017/06/08 Python
python flask搭建web应用教程
2019/11/19 Python
Python自省及反射原理实例详解
2020/07/06 Python
pycharm 2020 1.1的安装流程
2020/09/29 Python
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
思想专业自荐信范文
2013/12/25 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
《恐龙》教学反思
2014/04/27 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
学生上课说话检讨书
2014/10/25 职场文书
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL
Python if else条件语句形式详解
2022/03/24 Python