ホームページ >ウェブフロントエンド >H5 チュートリアル >リアルな HTML5 落ち葉アニメーション_html5 チュートリアル スキル

リアルな HTML5 落ち葉アニメーション_html5 チュートリアル スキル

WBOY
WBOYオリジナル
2016-05-16 15:45:482585ブラウズ

この HTML5 の葉が落ちるアニメーションは Webkit コアに基づいています。つまり、このアニメーションは Webkit コアを備えたブラウザーでのみ使用できます。

ソース コードのダウンロード デモ アドレス

HTML コード

XML/HTML コードコンテンツをクリップボードにコピー
  1. <div id="コンテナ" >
  2. <div id="leafContainer" >div>
  3. <div id="メッセージ" >
  4. < /
  5. em> div>
  6. div>
  7. CSS コード CSS コードコンテンツをクリップボードにコピーします
    1. #container {
    2. 位置: 相対;   
    3. 高さ: 700px;   
    4. : 500px;   
    5. マージン: 10px 自動;   
    6. オーバーフロー: 非表示;   
    7. ボーダー: 4px solid #5C090A;   
    8. 背景: #4E4226 url('images/backgroundLeaves.jpg') 繰り返しなし トップ ;   
    9. }
    10. /* leafContainer div の位置 と 寸法 を定義します */
    11. #leafContainer
    12. {
    13. 位置: 絶対;   
    14. : 100%;   
    15. 身長: 100%;   
    16. }  
    17. /* メッセージ div の外観、位置、寸法を定義します*/
    18. #message
    19. {
    20. 位置: 絶対;   
    21. トップ: 160px;   
    22. : 100%;   
    23. 高さ: 300px;   
    24. 背景:透明 url( 'images/textBackground.png')繰り返し-x 中央;   
    25. カラー: #5C090A;   
    26. フォントサイズ: 220%;   
    27. フォントファミリー: 'Georgia';   
    28. text-align: center;   
    29. パディング: 20px 10px;   
    30. -webkit-box-sizing: border-box;   
    31. -ウェブキット-背景-サイズ: 100% 100%;   
    32. z-index: 1;   
    33. }
    34. p {
    35. マージン: 15px;   
    36. }
    37. a
    38. {
    39. カラー: #5C090A;   
    40. テキスト装飾: なし;   
    41. }
    42. /*「Dino's Gardening Service」メッセージの色を設定します*/
    43. em
    44. {
    45. font-weight: 太字;   
    46. フォント スタイル: 通常;   
    47. }
    48. .phone {
    49. フォントサイズ: 150%;   
    50. vertical-align: middle;   
    51. }  
    52. /* この CSS ルールは、leafContainer div 内のすべての div 要素に適用されます。
    53. 各リーフディビジョンのスタイルを設定し、アニメーション化します。
    54. */
    55. #leafContainer > div
    56. {
    57. 位置: 絶対;   
    58. : 100px;   
    59. 高さ: 100px;   
    60. /* 次のプロパティを使用して、フェード アニメーションとドロップ アニメーションを各リーフに適用します。
    61. これらの各プロパティは 2 つの値を取ります。 これらの値はそれぞれ、設定
    62. に一致します。
    63. フェードとドロップの場合。
    64. */
    65. -webkit-animation-iteration-count: 無限、 無限;   
    66. -webkit-animation-方向: 通常通常;   
    67. -webkit-animation-timing-function: リニア、イーズイン;   
    68. }  
    69. /* この CSS ルールは、
    70. である div 要素内のすべての img 要素に直接適用されます。
    71. leafContainer div 内に直接あります。 つまり、「img」要素
    72. と一致します。
    73. createALeaf() 関数で作成される leafDiv 内。
    74. */
    75. #leafContainer > ディビジョン> img {
    76. 位置: 絶対;   
    77. : 100px;   
    78. 高さ: 100px;   
    79. /* 時計回りのスピンまたは反時計回りのスピンアンドフリップを調整するには、次のプロパティを使用します
    80. 各リーフのアニメーション。
    81. Leaves.js ファイル内の createALeaf 関数は、リーフに
    82. があるかどうかを判断します。
    83. 時計回りスピン​​または反時計回りスピン​​アンドフリップアニメーション。
    84. */
    85. -webkit-animation-iteration-count: 無限;   
    86. -webkit-animation-方向: 代替;   
    87. -webkit-animation-timing-function: ease-in-out;   
    88. -webkit-transform-origin: 50% -100%;   
    89. }
    90. /* アニメーションの最後に向かって葉を非表示にします */
    91. @-webkit-keyframes フェード
    92. {
    93. /* アニメーションの 95 パーセント以下の間は葉を表示し、それ以外の場合は非表示にする */
    94. 0% { 不透明度: 1; }
    95. 95% { 不透明度: 1; }
    96. 100% { 不透明度: 0; }
    97. }  
    98. /* y 軸で -300 から 600 ピクセル に葉を落とします */
    99. @-webkit-keyframes ドロップ
    100. {
    101. /* アニメーションの開始時に葉を Y 軸の -300 ピクセルに移動します*/
    102. 0% { -webkit-transform: translate(0px,-50px); }
    103. /* アニメーションの終了時に葉を Y 軸の 600 ピクセルに移動します*/
    104. 100% { -webkit-transform: translate(0px, 650px); }
    105. }
    106. /* 2D 空間で葉を -50 度から 50 度まで回転します*/
    107. @-webkit-keyframes 時計回りに回転
    108. {
    109. /* アニメーションの開始時に 2D 空間で葉を -50 度回転します*/
    110. 0% { -webkit-transform: rotate(-50deg); }
    111. /* アニメーションの終了時に 2D 空間で葉を 50 度回転します*/
    112. 100% { -webkit-transform: rotate(50deg); }
    113. }
    114. /* 葉を反転し、2D 空間で 50 度から -50 度まで回転します*/
    115. @-webkit-keyframes 反時計回りSpinAndFlip
    116. {
    117. /* アニメーションの開始時に、葉を裏返し、2D 空間で 50 度回転します*/
    118. 0% { -webkit-transform: scale(-1, 1) rotate(50deg); }
    119. /* アニメーションの最後に、葉を反転し、2D 空間で -50 度回転します*/
    120. 100% { -webkit-transform: scale(-1, 1) rotate(-50deg); }
    121. }

JavaScript 代

JavaScript コード复制コンテンツ到剪贴板
  1. /* アニメーションで使用される葉の数を定義します */
  2. const NUMBER_OF_LEAVES = 30;   
  3. /*
  4. 「Falling Leaves」ページが完全に読み込まれると呼び出されます。
  5. */
  6. 関数 init()
  7. {
  8. /* 葉を含む要素への参照を取得します */
  9. var container = document.getElementById('leafContainer');   
  10. /* 空のコンテナに新しい葉を詰める */
  11. for (var i = 0; i < NUMBER_OF_LEAVES; i )
  12. {
  13. container.appendChild(createALeaf());   
  14. }
  15. }
  16. /*
  17. 範囲の最小値と最大値を受け取ります。
  18. その範囲内にあるランダムな整数を返します。
  19. */
  20. 関数 randomInteger(low, high)
  21. {
  22. return low Math.floor(Math.random() * (high - low));   
  23. }
  24. /*
  25. 範囲の最小値と最大値を受け取り、
  26. は、その範囲内にあるランダムな浮動小数点数を返します。
  27. */
  28. 関数 randomFloat(low, high)
  29. {
  30. return low Math.random() * (high - low);   
  31. }
  32. /*
  33. 数値を受け取り、その CSS ピクセル値を返します。
  34. */
  35. 関数 pixelValue(値)
  36. {
  37. return'px';   
  38. }  
  39. /*
  40. 落下アニメーションの継続時間の値を返します。
  41. */
  42. 関数 durationValue(値)
  43. {
  44. ;   
  45. }  
  46. /*
  47. img 要素 を使用して各リーフを作成します。 「Leaves.css」は 2 つのスピンを実装します
  48. 葉のアニメーション:時計回りのスピンと反時計回りのスピンアンドフリップ。 この
  49. 関数は、これらのスピン アニメーションのどれを各リーフに適用するかを決定します。
  50. */
  51. 関数 createALeaf()
  52. {
  53. /* ラッパー div と空の img 要素を作成することから始めます*/
  54. var leafDiv = document.createElement('div');   
  55. var image = document.createElement('img');   
  56. /* 葉の画像をランダムに選択し、新しく作成された要素に割り当てます*/
  57. image.src = 'images/realLeaf' randomInteger(1, 5) '.png';   
  58. leafDiv.style.top = "-100px";   
  59. /* 画面に沿ったランダムな位置にリーフを配置します */
  60. leafDiv.style.left = pixelValue(randomInteger(0, 500));   
  61. /* スピン アニメーションをランダムに選択 */
  62. var spinAnimationName = (Math.random() < 0.5) ? '時計回りSpin' : '反時計回りSpinAndFlip';   
  63. /* -webkit-animation-name プロパティにこれらの値を設定します */
  64. leafDiv.style.webkitAnimationName = 'フェード、ドロップ';   
  65. image.style.webkitAnimationName = spinAnimationName;   
  66. /* フェード アンド ドロップ アニメーションのランダムな継続時間を計算します */
  67. var fadeAndDropDuration = durationValue(randomFloat(5, 11));   
  68. /* スピンアニメーションの別のランダムな期間を計算します */
  69. var spinDuration = durationValue(randomFloat(4, 8));   
  70. /* -webkit-animation-duration プロパティにこれらの値を設定します */
  71. leafDiv.style.webkitAnimationDuration = fadeAndDropDuration ', ' fadeAndDropDuration;   
  72. var leafDelay = durationValue(randomFloat(0, 5));   
  73. leafDiv.style.webkitAnimationDelay = leafDelay ', ' leafDelay;   
  74. image.style.webkitAnimationDuration = spinDuration;   
  75. // リアルな HTML5 落ち葉アニメーション_html5 チュートリアル スキル を追加します。 
  76. leafDiv.appendChild(画像);   
  77. /* この img 要素を返して、ドキュメントに追加できるようにします */
  78. return leafDiv;   
  79. }
  80. /* 「Falling Leaves」ページがフルロードされたときに init 関数を呼び出します */
  81. window.addEventListener('load', init, false);   

以上が本書のすべての内容であり、大家学に役立つことが望まれます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:クールな HTML5 電子書籍のページめくりアニメーション効果_html5 チュートリアルのスキル次の記事:クールな HTML5 電子書籍のページめくりアニメーション効果_html5 チュートリアルのスキル

関連記事

続きを見る