簡単なチュートリアル
これは、jQuery と CSS3 で作成された HTML5 レスポンシブなステップバイステップのカスタマイズされた製品テンプレートです。このテンプレートを通じて、ユーザーは必要な製品を段階的にカスタマイズできます。最後のステップでは、商品の価格と説明が表示されます。
使用方法
HTML構造
このテンプレートのHTML構造は3つの部分に分かれています: header.main-headerはトップナビゲーションとして使用され、div.cd-builder-stepsは製品のカスタマイズ手順に使用され、フッター.cd-builder -footer は、下部のナビゲーションと一部の説明情報に使用されます。
<div class="cd-product-builder"> <header class="main-header"> <h1>Product Builder</h1> <nav class="cd-builder-main-nav disabled"> <ul> <li class="active"><a href="#models">Models</a></li> <li><a href="#colors">Colors</a></li> <li><a href="#accessories">Accessories</a></li> <li><a href="#summary">Summary</a></li> </ul> </nav> </header> <div class="cd-builder-steps"> <ul> <li data-selection="models" class="active builder-step"> <section class="cd-step-content"> <header> <h1>Select Model</h1> <span class="steps-indicator">Step <b>1</b> of 4</span> </header> <a href="#0" class="cd-nugget-info">Article & Downaload</a> <ul class="models-list options-list cd-col-2"> <!-- models here --> </ul> </section> </li> <!-- additional content will be inserted using ajax --> </ul> </div> <footer class="cd-builder-footer disabled step-1"> <div class="selected-product"> <img src="img/product01_col01.jpg" alt="Product preview"> <div class="tot-price"> <span>Total</span> <span class="total">$<b>0</b></span> </div> </div> <nav class="cd-builder-secondary-nav"> <ul> <li class="next nav-item"> <ul> <li class="visible"><a href="#0">Colors</a></li> <li><a href="#0">Accessories</a></li> <li><a href="#0">Summary</a></li> <li class="buy"><a href="#0">Buy Now</a></li> </ul> </li> <li class="prev nav-item"> <ul> <li class="visible"><a href="#0">Models</a></li> <li><a href="#0">Models</a></li> <li><a href="#0">Colors</a></li> <li><a href="#0">Accessories</a></li> </ul> </li> </ul> </nav> <span class="alert">Please, select a model first!</span> </footer> </div>
CSS スタイル
インターフェイス CSS スタイルは非常にシンプルです。div.cd-builder-steps はさまざまなカスタマイズ手順をラップするために使用され、その中の子要素は絶対的に配置され、高さと幅が互いに重なり合っていることに注意してください。これらはすべて 100% です。デフォルトでは非表示になっており、.activeclass がアタッチされている場合にのみ表示されます。
.cd-builder-steps > ul { height: 100%; overflow: hidden; } .cd-builder-steps .builder-step { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; overflow: auto; visibility: hidden; transition: visibility .5s; } .cd-builder-steps .builder-step.active { position: relative; z-index: 2; visibility: visible; }
JavaScript
JS コードで ProductBuilder オブジェクトを作成し、bindEvents メソッドを使用してさまざまなイベントを処理します。
function ProductBuilder( element ) { this.element = element; this.stepsWrapper = this.element.children('.cd-builder-steps'); //... this.bindEvents(); } if( $('.cd-product-builder').length > 0 ) { $('.cd-product-builder').each(function(){ //create a productBuilder object for each .cd-product-builder new ProductBuilder($(this)); }); }
ユーザーがモデルを選択した後、Ajax 呼び出しを通じて新しいコンテンツを取得します。 ul.models-list の各リスト項目には、この新しい HTML ページの名前とまったく同じ data-model 属性があります。
$.ajax({ type : "GET", dataType : "html", url : modelType+".html", beforeSend : function(){ self.loaded = false; }, success : function(data){ self.models.after(data); self.loaded = true; //... }, error : function(jqXHR, textStatus, errorThrown) { //... } });
上記は、HTML5 対応のステップバイステップのカスタマイズされた製品テンプレートの内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。