基于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 相关文章推荐
很酷的javascript loading效果代码
Jun 18 Javascript
JS逆序遍历实现代码
Dec 02 Javascript
Javascript基础教程之while语句
Jan 18 Javascript
详解JavaScript中常用的函数类型
Nov 18 Javascript
AngularJS中的Directive实现延迟加载
Jan 25 Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 Javascript
AngularJS 与百度地图的结合实例
Oct 20 Javascript
详解JS对象封装的常用方式
Dec 30 Javascript
Node.JS利用PhantomJs抓取网页入门教程
May 19 Javascript
JavaScript实现简单的树形菜单效果
Jun 23 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
Dec 22 Javascript
js判断文件类型大小并给出提示的实现方法
Jan 03 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
终于听上了直流胆调频
2021/03/02 无线电
PHP中的extract的作用分析
2008/04/09 PHP
Php Ctemplate引擎开发相关内容
2012/03/03 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
小米公司JavaScript面试题
2014/12/29 Javascript
nodejs事件的监听与触发的理解分析
2015/02/12 NodeJs
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
初识Javascript小结
2015/07/16 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
2016/09/21 Javascript
微信小程序之小豆瓣图书实例
2016/11/30 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
2018/02/26 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
javascript异步处理与Jquery deferred对象用法总结
2019/06/04 jQuery
python开发利器之ulipad的使用实践
2017/03/16 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
IT工程师岗位职责
2014/07/04 职场文书
大学生心理活动总结
2014/07/04 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
护士医德考评自我评价
2015/03/03 职场文书
简历中自我评价范文
2015/03/11 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
业务员管理制度范本
2015/08/06 职场文书
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏