最初にレンダリングをお見せしますので、必要な友達はソースコードをダウンロードしてください~
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>
上記は登録フォームであり、3 つの .pages に必要な 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(); });
これで、[次へ] をクリックしてステップを切り替えることができます。ただし、問題は、[次へ] をクリックするときに、現在のフォーム入力の正当性を確認する必要があることです。 。幸いなことに、2 つの方法により問題が非常に簡単になります。
onSeek: function(); この場合、タブのスタイルを切り替えたいと考えています。
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() メソッドを「OK」ボタンにバインドし、アクションを通じてフォームを送信します。デモンストレーションの目的で、この記事では次のメソッドを使用して入力コンテンツを取得します:
$("#sub").click(function(){ var data = $("form").serialize(); alert(data); });