本をめくる効果を実現するネイティブJS

本をめくる効果を実現するネイティブJS

この記事では、ネイティブ JS で実装された本をめくる効果の図を紹介します。効果は次のとおりです。

実装コードは以下のとおりです。コピーして貼り付けてご利用ください。

<!doctypehtml>
<html>
 
    <ヘッド>
        <メタ文字セット="utf-8">
        <title>本をめくる効果を実現するネイティブ JS</title>
        <スタイル タイプ="text/css">
            * {
                マージン: 0;
                パディング: 0;
                リストスタイル: なし;
            }
 
            #ボタン{
                幅: 50px;
                高さ: 40px;
                行の高さ: 40px;
                位置: 相対的;
                左: 50%;
                左マージン: -25px;
                上: 100px;
            }
 
            #本 {
                幅: 600ピクセル;
                高さ: 400px;
                位置: 絶対;
                左: 50%;
                上位: 50%;
                マージン: -200px 0 0 -300px;
                境界線: 1px 黒一色;
                /* 最初のカバー */
                背景: url(images/0.jpg);
            }
 
            #右ページ {
                幅: 50%;
                高さ: 100%;
                位置: 絶対;
                左: 50%;
                zインデックス: 2;
                遷移: 0.5秒;
                変換: 視点(800px)、Y方向回転(0px);
                変換の原点: 左中央;
                背景:黒;
                変換スタイル: 3D を保持します。
            }
 
            #右ページ #トップノード {
                位置: 絶対;
                幅: 100%;
                高さ: 100%;
                /* 最初のカバー */
                背景: url(images/0.jpg) 300px 0;
                変換: translateZ(1px);
            }
 
            #右ページ #下部ノード {
                位置: 絶対;
                幅: 100%;
                高さ: 100%;
                /* 3番目のカバー */
                背景: url(images/2.jpg) 0 0;
                /*scaleX はブックミラーを反転した後の画像を復元します*/
                変換: translateZ(-1px) scaleX(-1);
            }
 
            #右その他のページ{
                位置: 絶対;
                左: 50%;
                高さ: 100%;
                幅: 50%;
                /* 3番目のカバー */
                背景: url(images/2.jpg) 300px 0;
                zインデックス: 1;
            }
        </スタイル>
    </head>
 
    <本文>
        <input type='button' value='次のページ' id='btn'>
        <div id='本'>
            <div id='右ページ'>
                <div id='topNode'></div>
                <div id='bottomNode'></div>
            </div>
            <div id='rightその他のページ'></div>
        </div>
        <script type="text/javascript">
            var インデックス = 0;
            var フラグ = false;
 
            btn.onclick = 関数(){
                if (フラグ) return;
                フラグ = true;
                インデックス++;
                rightPage.style.transition = '0.5s';
                rightPage.style.transform = 'perspective(800px) rotateY(-180deg)';
 
                setTimeout(関数() {
                    // ページをめくるとすぐに次のページの背景を変更します book.style.backgroundImage = 'url(images/' + (index % 2 + 1) + '.jpg)';
                    // ページを瞬時に戻しますrightPage.style.transition = '0s';
                    rightPage.style.transform = 'perspective(800px) rotateY(0deg)';
 
                    // フリップペーパーの表面の背景を変更します。topNode.style.backgroundImage = 'url(images/' + (index % 2 + 1) + '.jpg)';
                    // フリップペーパーの裏面の背景を変更します。 bottomNode.style.backgroundImage = 'url(images/' + ((index + 1) % 2 + 1) + '.jpg)';
 
                    // ページを右にめくった後に用紙の背景を変更しますOtherPage.style.backgroundImage = 'url(images/' + ((index + 1) % 2 + 1) + '.jpg)';
                    フラグ = false;
 
                }, 500);
 
            };
        </スクリプト>
    </本文>
 
</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Turn.js の非同期読み込みで本をめくる効果を実現
  • フリップブック効果を実現する JS ベースのページ切り替えスタイル
  • 画像の反転効果を実現するネイティブJS
  • Turn.js をベースに本をめくる効果を実現する
  • モバイル H5 開発 Turn.js で素晴らしい本めくり効果を実現
  • JavaScript HTML5 に基づいて 3D ブック フリップ効果を実現する
  • js 画像 フリップブック 効果 コード共有
  • 絵本風フリップブックの効果を実現するJSサンプルコード

<<:  MySQL実行計画の詳細な説明

>>:  Dockerfileを使用してApacheイメージを作成する方法

推薦する

ウェブページの読み込み速度を上げる25の方法とヒント

はじめに<br />誰もが高速インターネット接続にアクセスできるわけではありません。たと...

MySQL 永続統計の詳細な説明

1. 永続的な統計情報の重要性:統計は、MySQL が実行プランを生成するためのガイドとして使用され...

Linux で MySQL スケジュールタスクを実装する方法

前提: ストアド プロシージャは、毎日午後 10 時から午前 5 時まで 10 分ごとに実行されます...

Docker の詳細なイラスト

1. Dockerの紹介1.1 仮想化1.1.1 仮想化とは何ですか?コンピュータにおける仮想化とは...

Vueは複数のカウントダウンを同時に設定する機能を実装しています

この記事の例では、複数のカウントダウンを同時に設定するためのVueの具体的なコードを参考までに共有し...

テンプレートタグの使用方法の詳細な説明(Vue での使用方法の概要を含む)

目次1. HTML5のテンプレートタグ2. テンプレートタグ操作のプロパティとメソッド3. Vueの...

コードをセマンティックにする HTML のヒント

HTML のセマンティクスはありふれた問題のようです。Google で検索すると、セマンティクスに関...

ページ切り替え効果を実現するJSコード

この記事の例では、ページ切り替え効果を実現するためのJSコードの具体的なコードを参考までに共有してい...

CSS3 フリップカード番号サンプルコード

今日会社から課題をもらったのですが、効果図は以下のとおりです。 どのような効果を実現したいかは特に決...

MySQL トランザクション分離はどのように実現されますか?

目次同時シナリオ書き込む読む読む読み取り-書き込みと書き込み-読み取りMySQL のロック行レベルロ...

イメージの起動時にdocker runまたはdocker restartが自動的に終了する問題を解決します

コマンドを実行します: docker run --name centos8 -d centos /b...

CentOS 7.0 (mysql-5.7.21) で複数の MySQL インスタンスを起動する方法

設定手順Linux システム: CentOS-7.0 MySQL バージョン: 5.7.21 Lin...

Django+Mysql+Redis+Gunicorn+NginxのDockerデプロイメントの実装

I. はじめにDockerテクノロジーは現在非常に人気があります。コンテナを介してプロジェクト環境を...

Windows Server 2008 R2 マルチユーザー リモート デスクトップ接続ライセンス

仕事ではリモート サーバーが必要になることが多く、次の 2 つの問題に遭遇することがよくあります。 ...

タブ切り替え効果を実現するJavaScript

この記事では、タブ切り替え効果を実現するためのJavaScriptの具体的なコードを参考までに紹介し...