簡単なチュートリアル
これは、非常にクールな jQuery と CSS3 の 3D 回転プロジェクト表示テンプレートです。このテンプレートは、CSS3 3D 変換を使用して 3D 立方体回転効果を作成し、各項目が切り替え時に立方体回転効果を表示します。
使用方法
HTML 構造
HTML 構造には 2 つの部分が含まれています: nav.cd-3d-portfolio-navigation はプロジェクトのナビゲーションであり、もう 1 つは各プロジェクトをラップするために使用される div.projects です。
<div class="cd-3d-portfolio"> <nav class="cd-3d-portfolio-navigation"> <div class="cd-wrapper"> <h1>3D Portfolio Template</h1> <ul> <li><a href="#0" class="selected">Filter 1</a></li> <li><a href="#0">Filter 2</a></li> <li><a href="#0">Filter 3</a></li> </ul> </div> </nav> <!-- .cd-3d-portfolio-navigation --> <div class="projects"> <ul class="row"> <li class="front-face selected project-1"> <div class="project-wrapper"> <div class="project-image"> <div class="project-title"> <h2>Project 1</h2> </div> </div> <!-- .project-image --> <div class="project-content"> <!-- project content here --> </div> <!-- .project-content --> <a href="#0" class="close-project">Close</a> </div> <!-- .project-wrapper --> </li> <li class="right-face project-2"> <div class="project-wrapper"> <div class="project-image"> <div class="project-title"> <h2>Project 2</h2> </div> </div> <!-- .project-image --> <div class="project-content"> <!-- project content here --> </div> <!-- .project-content --> <a href="#0" class="close-project">Close</a> </div> <!-- .project-wrapper --> </li> <li class="right-face project-3"> <div class="project-wrapper"> <div class="project-image"> <div class="project-title"> <h2>Project 3</h2> </div> </div> <!-- .project-image --> <div class="project-content"> <!-- project content here --> </div> <!-- .project-content --> <a href="#0" class="close-project">Close</a> </div> <!-- .project-wrapper --> </li> </ul> <!-- .row --> <ul class="row"> <!-- projects here --> </ul> <!-- .row --> <ul class="row"> <!-- projects here --> </ul> <!-- .row --> </div><!-- .projects --> </div>
JavaScript
3D 効果を実現するために、Portfolio3D オブジェクトがテンプレート内に作成され、bindEvents 関数を使用してイベントをバインドします。
function Portfolio3D( element ) { //define a Portfolio3D object this.element = element; this.navigation = this.element.children('.cd-3d-portfolio-navigation'); this.rowsWrapper = this.element.children('.projects'); this.rows = this.rowsWrapper.children('.row'); this.visibleFace = 'front'; this.visibleRowIndex = 0; this.rotationValue = 0; //animating variables this.animating = false; this.scrolling = false; // bind portfolio events this.bindEvents(); } if( $('.cd-3d-portfolio').length > 0 ) { var portfolios3D = []; $('.cd-3d-portfolio').each(function(){ //create a Portfolio3D object for each .cd-3d-portfolio portfolios3D.push(new Portfolio3D($(this))); }); }
visibleFace プロパティは、立方体の現在表示されている面を保存するために使用されます。
ユーザーが特定の項目タイプを回転すると、showNewContent() メソッドが正しい立方体の面を表示し、ul.row 内の要素を回転するために使用されます。
Portfolio3D.prototype.bindEvents = function() { var self = this; this.navigation.on('click', 'a:not(.selected)', function(event){ //update visible projects when clicking on the filter event.preventDefault(); if( !self.animating ) { self.animating = true; var index = $(this).parent('li').index(); //show new projects self.showNewContent(index); //update filter selected element //.. } }); //... };
上記は jQuery と CSS3 の 3D 回転プロジェクト表示テンプレートの内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) をご覧ください。