モバイルの赤い封筒の雨機能ページを実装するための JavaScript HTML

モバイルの赤い封筒の雨機能ページを実装するための JavaScript HTML

この記事の例では、モバイル紅包雨機能ページを実現するためのHTMLの具体的なコードを共有しています。具体的な内容は次のとおりです。

効果は以下のとおりです。

具体的なコードは以下のとおりです

HTML部分:

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
 <メタ文字セット="UTF-8">
 <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
 <meta http-equiv="X-UA-compatible" content="ie=edge">
 <title>赤い封筒の雨</title>
 <link rel="スタイルシート" href="./css/demo.css" >
 <link rel="スタイルシート" href="./css/index.css" >
</head>
<本文>
 <!-- 赤い封筒 -->
 <ul class="redPaper">
 <!-- <li>
 <a href="#" ><img src="./images/hb_1.png" alt=""></a>
 </li> -->
 </ul>
 <div class="backward">
 <span></span>
 </div>
 <script src="./js/jquery.min.js"></script>
 <script src="./js/index.js"></script>
 <スクリプト>
 
 </スクリプト>
</本文>
</html>

demo.cssは初期化CSSなので、追加する必要はありません。

index.css セクション

体{
 幅: 100%;
 高さ: 100%;
 背景画像: url(../images/bj.jpg);
 背景繰り返し: 繰り返しなし;
 背景サイズ: カバー;
 位置: 相対的;
}
.redPaper{
 幅: 100%;
 高さ: 100%;
 /* 境界線: 1px 黒一色; */
 オーバーフロー: 非表示;
}
.redPaper li {
 位置: 絶対;
 アニメーション: すべて 3 秒リニア;
 上:-100px;
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.redPaper li a{
 表示: ブロック;
}
.後方{
 幅: 100%;
 背景:#ccc;
 不透明度: 0.5;
 位置: 絶対;
 上: 0;
 
}
.後方スパン{
 表示: インラインブロック;
 幅: 100ピクセル;
 高さ: 100px;
 色: #000;
 フォントの太さ: 太字;
 位置: 絶対;
 上: 0;
 左: 0;
 右: 0;
 下部: 0;
 マージン: 自動;
 テキスト配置: 中央;
 行の高さ: 100px;
 フォントサイズ: 1000%;
}

index.js 部分:

$(ドキュメント).ready(関数() {
 var win = (parseInt($('.redPaper').css('width'))) - 60;
 コンソール.log(win)
 $(".redPaper").css("高さ", $(document).height());
 $(".backward").css("height", $(document).height());
 $("li").css({});
 // 確認をクリックするとモーダルレイヤーを閉じる// $(".sen a").click(function(){
 // $(".mo").css("display", "none")
 // });

 var del = 関数() {
 数値++;
 // console.info(数値);
 // console.log($(".li" + nums).css("left"));
 $(".li" + 数値).remove();
 タイムアウトを設定します(del, 200)
 }

 var addRedPaper = 関数(){
 var hb = parseInt(Math.random() * (3 - 1) + 1);
 var randomW = parseInt(Math.random() * (70 - 30) + 20);
 var randomLeft = parseInt(Math.random() * win);
 var randomRotate = (parseInt(Math.random() * 45)) + 'deg';
 // コンソール.log(rot)
 数値++;
 $(".redPaper").append("<li class='li" + num + "' ><a href='javascript:;'><img src='images/hb_" + hb + ".png' data-num ='" + num + "'></a></li>");
 $(".li" + 数値).css({
 "左": ランダム左、
 });
 $(".li" + num + " a 画像").css({
 "幅": ランダムW,
 "変換": "回転(" + ランダム回転 + ")",
 "-webkit-transform": "回転(" + ランダム回転 + ")",
 "-ms-transform": "rotate(" + randomRotate + ")", /* インターネット エクスプローラー */
 "-moz-transform": "rotate(" + randomRotate + ")", /* Firefox */
 "-webkit-transform": "rotate(" + randomRotate + ")",/* Safari および Chrome */
 "-o-transform": "rotate(" + randomRotate + ")" /* オペラ */
 });
 $(".li" + num).animate({ 'top': $(window).height() + 20 }, 5000, 関数() {
 // 表示された赤い封筒を削除します this.remove()
 });
 //赤い封筒をクリックすると、モーダルレイヤーがポップアップします $(".li" + num).click(function (e) {
 if (e.target.tagName == 'IMG') {
 コンソールログ(e.target.dataset.num)
 }

 });
 タイムアウトを設定します(addRedPaper、200)
 }

 //赤い封筒を増やす var num = 0;
 タイムアウトを設定します(addRedPaper、3000);

 //カウントダウン var backward = function () {
 numz--;
 (数値 > 0)の場合{
 $(".backward span").html(numz);
 } それ以外 {
 $(".backward").remove();
 }
 setTimeout(後方、1000)

 }

 var numz = 4;
 後方();

})

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

以下もご興味があるかもしれません:
  • モバイルの赤い封筒の雨のページを実装するための JavaScript
  • 赤い封筒の雨の効果を実現するための js+css

<<:  JSはオンラインでのアナウンスのスクロール効果を実現します

>>:  ネイティブ JavaScript でショッピングカートを実装する

推薦する

MySQL インデックスに関するヒントのまとめ

目次1. インデックスの基礎知識1.1 インデックスの利点1.2 インデックスの有用性1.3 インデ...

JavaScript 関数をよりエレガントにする方法

目次分割代入を使用したオブジェクトパラメータコールバック関数の命名条件文を説明的にするスイッチ文をM...

Deepin で virtualenv をインストールして使用するチュートリアル

virtualenv は、分離された Python 仮想環境を作成するためのツールです。独立したディ...

CSS3 で Taobao に空白スペースを実装する方法

Taobao用の空白スペースを作成します。 ブラウザページを縮小すると、コンテンツ領域は縮小されませ...

Python 仮想環境のインストールとアンインストールの方法と発生する問題

Ubuntu16.04 のインストールとアンインストール pip実験環境Ubuntu 16.04; ...

Vueでキャッシュされたページを管理する方法

目次問題1: 破壊1. 破壊する方法2. いつ破壊するか2.1 解決策1: route.queryを...

LinuxとGNUシステムの関係の詳細な説明

目次私たちが毎日実行している Linux システムとは何でしょうか? LinuxカーネルとGNUシス...

JavaScript の 50 以上のユーティリティ関数の概要

JavaScript は多くの素晴らしい機能を備えています。この記事では、作業効率の向上とコードのデ...

Linux(中心OS7)は、Java Webプロジェクトの実行環境を構築するためにJDK、Tomcat、MySQLをインストールします。

1. JDKをインストールする1. 古いバージョンまたはシステム独自のJDKをアンインストールする...

Mac で MySQL 8.0.22 のパスワードを取得する方法

Mac 最新バージョンの MySQL 8.0.22 パスワード回復問題の説明:昨日、突然、Macで最...

MySQL サブクエリとグループ化されたクエリ

目次概要サブクエリサブクエリの分類クエリの結果によるとサブクエリの位置で区別する選択後のサブクエリサ...

2時間のDocker入門チュートリアル

目次1.0 はじめに2.0 Dockerのインストール3.0基本的なDockerコマンド4.0 Do...

VueのkeepAliveコンポーネントの機能と使い方の詳細な説明

序文面接中、多くの面接官は「keep-alive が何をするのか知っていますか?」と質問する際に V...

MySQLユーザー削除バグを解決する

著者が MySQL を使用してユーザーを追加していたところ、ユーザー名が間違って記述されていることに...

Nginxを使ってサーバー内で複数コンテナの共存を実現する方法

背景Tencent Linux クラウド ホストがあり、その上に Docker (ServiceDo...