基于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 延迟执行实例介绍
Aug 20 Javascript
js实现点击切换TAB标签实例
Aug 21 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
May 23 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
Jun 08 Javascript
JavaScript中数组的各种操作的总结(必看篇)
Feb 13 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
Mar 25 Javascript
深入理解Angularjs中$http.post与$.post
May 19 Javascript
3种vue组件的书写形式
Nov 29 Javascript
使用jQuery 操作table 完成单元格合并的实例
Dec 27 jQuery
Vue Router去掉url中默认的锚点#
Aug 01 Javascript
详解ES6数组方法find()、findIndex()的总结
May 12 Javascript
利用H5api实现时钟的绘制(javascript)
Sep 13 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
php对数组排序的简单实例
2013/12/25 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
PHP实现图片上传并压缩
2015/12/22 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
零基础轻松学JavaScript闭包
2016/12/30 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
浅析Python中的join()方法的使用
2015/05/19 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
python装饰器使用实例详解
2019/12/14 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
what is the difference between ext2 and ext3
2013/11/03 面试题
计算机个人求职信范例
2014/01/24 职场文书
企业金融服务方案
2014/06/03 职场文书
商铺门面租房协议书
2014/10/21 职场文书
教师党员个人整改措施
2014/10/27 职场文书
病危通知书样本
2015/04/17 职场文书
预备党员入党感想
2015/08/10 职场文书
母亲节主题班会
2015/08/14 职场文书
电工实训心得体会
2016/01/14 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python