この記事では、シンプルな HTML ビデオ プレーヤーを実装する方法を紹介し、皆さんと共有します。詳細は次のとおりです。 ファイルリスト root@tianshl:/data/video# ls hch.mp4 test.mp4 xyx.mp4 index.html video.list jquery.js インデックス.html <!DOCTYPE html> <html> <ヘッド> <メタ文字セット="UTF-8"> <スタイル タイプ="text/css"> 体{ テキスト配置: 中央; } #コンテンツラップ{ 上マージン: 50px; 表示: インラインブロック; } #コンテンツ{ ディスプレイ: フレックス; } /* プレイヤー */ #ビデオ{ 表示: インラインブロック; マージン: 0; 境界線: 12px 実線 #eee; ボックスのサイズ: 境界線ボックス; } .ビデオリストラップ{ 背景色: #eee; 右境界線: 1px 実線 #fff; } /* ビデオリスト */ .ビデオリスト{ 表示: インラインブロック; ボックスのサイズ: 境界線ボックス; マージン: 0; 幅: 150ピクセル; リストスタイル: なし; パディング: 0; オーバーフロー:自動; フォントサイズ: 12px; } /* リスト項目 */ .ビデオアイテム{ カーソル: ポインタ; 幅: 150ピクセル; ボックスのサイズ: 境界線ボックス; テキスト配置: 左; パディング: 5px 0 5px 10px; } .video-item:not(:last-child){ 下境界線: 1px 実線 #fff; } .video-item:hover、.active{ 背景色: #ddd; 色: #333; } /* ビデオリストのタイトル */ .ビデオタイトル{ 背景色: ゲインズボロ; フォントサイズ: 12px; 高さ: 30px; 行の高さ: 30px; テキスト配置: 中央; } </スタイル> </head> <本文> <div id="コンテンツラップ"> <div id="コンテンツ"> <div class="ビデオリストラップ"> <p class="video-title">ビデオリスト</p> <ul class="ビデオリスト"></ul> </div> </div> </div> </本文> <script type="text/javascript" src="./jquery.js"></script> <script type="text/javascript"> $(関数(){ var $content = $('#content'); // プレーヤーを初期化する var init = function(src){ var $video = $('<video id="video" コントロール>'); $video.attr('プリロード', '自動'); $video.attr('幅', 720).attr('高さ', 405); $video.attr('自動再生', '自動再生'); $video.append($('<source>').attr('src', src).attr('type', 'video/mp4')); $content.append($video); }; /* ビデオリストを取得 */ var $video_list = $('.video-list'); $video_list.css('高さ', 340); $.ajax({ url: "video.list", タイプ: "GET", 非同期: true、 成功: function(resp){ $.each(resp.split('\n'), function(idx, item){ if (item === '') 戻り値: var $p = $('<li>').addClass('ビデオアイテム'); $p.text(アイテム); $p.data('パス', 項目); $video_list.append($p); }); } }); 初期化(); /* ビデオを切り替える */ $video_list.on('click', '.video-item', function(){ $("#video").remove(); var $this = $(this); $this.parent().find('.active').removeClass('active'); クラスを追加します。 $this.data を初期化します('path')。 }); }) </スクリプト> </html> ビデオリスト # このディレクトリ内のすべての MP4 ファイル (jQuery が解析するため) root@tianshl:/data/video# ls *.mp4 > video.list nginx の設定 ユーザー root; ワーカープロセス 1; イベント { ワーカー接続 1024; } http { mime.types を含めます。 ファイル送信オン; キープアライブタイムアウト65; サーバー{ 8000を聴く; server_name ローカル IP; 位置 / { # 最初の2行は認証用です(オプション) auth_basic "シークレット"; auth_basic_user_file /usr/local/nginx/passwd.db; # パス ルート /data/video; # ホームページインデックス index.html; } } } インターフェース表示 http://ローカルホスト:8000 認証 プレーヤー 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
<<: MySQL で数千万のテストデータを含むテストデータベースを作成する方法
>>: Vue3 の emitting と attr の違いの分析
テーブルの作成とインデックスの作成 テーブルtbl1を作成( id int ユニーク、sname v...
目次1. ミューテックス1. ミューテックスの初期化2. ミューテックスロックの関連特性と分類3. ...
1. 場所の正規表現例を見てみましょう: 場所 = / { # 完全一致 / 、ホスト名の後に文字列...
ElementUIはテーブルリストのページング効果のチュートリアルを実装しています。参考までに。具体...
1. 背景サーバーの開発プロセスでは、新しいコードや構成をロードするためにサービスを再起動することが...
操作中に Docker コンテナの公開ポートを変更または追加する必要がある場合がありますが、実行中の...
MySQL挿入時の8時間の時差の問題を解決する通常、jdbc の URL にはいくつかのパラメータを...
フローティング広告は、ウェブサイト上で非常に一般的な広告形式です。フローティング広告は、ユーザーの閲...
1. left(name,4)は左の4文字をインターセプトしますリスト: SELECT LEFT(2...
SEO とセキュリティを考慮して、301 リダイレクトが必要です。以下の一般的な処理には Nginx...
場合によっては、ページにプロンプト ボックスやバブル ボックスが必要になることがあります。CSS...
js 配列はどこでも使用されているため、おそらく誰もがよく知っているでしょうが、配列クラス (疑似配...
昨日、ある人のシステムのインストールを手伝ったのですが、自動パーティション分割をクリックするのを忘れ...
目次1. アプレットのプロジェクト ディレクトリを開き、ファイルの場所を開きます。 2. プロジェク...
目次1. サブクエリとは何ですか? 2. 自己結合3. 自然な結合4. 外部接続1. サブクエリとは...