FlipBoard に似た効果を持つ Web アプリケーションを構築しています。
最初は、このオープンソースを使おうとしていました。しかし、私はそれが実装されている方法があまり好きではありません (ページごとに複製を作成し、回転時に互いにオーバーラップします)...さらに、各ページ内に動的コンテンツを追加すると、反転効果が非常に不安定になります...
だから今、私はcssとjavascriptを使って独自の反転効果を実装しています..
ページ構成はこんな感じ
<div class="page" id="page1">
<div class="inner"></div>
</div>
<div class="page" id="page2">
<div class="inner"></div>
</div>
反転がトリガーされたとき...私は次のことを行いました...しかし、アクションを2つに分割するのではなく、スムーズな180回転であるはずなので、エレガントではないと思います..私が抱えている問題はz-indexです.. -90度回転させた後、「裏」ページを一番上に表示したいのですが、それ以外の場合は常に「表」側になります...
var front = '<div class="front" style="clip: rect(0px, 2229px, 1315px, 1115px);">' + $('#page2').children('.megafolio-container').html() + '</div>';
var back = '<div class="back megafolio-container" style="clip: rect(0px, 2229px, 1315px, 1115px);">' + $('#page3').children('.megafolio-container').html() + '</div>';
var middle = '<div class="middle page"></div>';
$('.container').append(middle);
$('.middle').html(front + back);
$('.middle').height($(window).height());
$('.middle').width($(window).width());
$('.middle').css('-webkit-transform', 'rotateY(-90deg)');
$('.middle').css('-webkit-transition', '-webkit-transform 500ms linear');
setTimeout(function(){
$('.middle > .back').css('z-index', 10);
$('.middle').css('-webkit-transform', 'rotateY(-180deg)');
$('.middle').css('-webkit-transition', '-webkit-transform 500ms linear');
}, 500);