序文js を使用して、年の回転選択効果を実現します。では早速、写真を見てみましょう。 1. アイデアは何ですか?
2. すべてのコード1.html コードは次のとおりです。 <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <title>タイトル</title> <link rel="スタイルシート" href="index.css" rel="外部nofollow" type="text/css"/> <script type="text/javascript" src="echarts.min.js"></script> <script type="text/javascript" src="index.js"></script> </head> <本文> <div class="コンテナ"> <div id="left" class="arrow_left" onclick="clickBefore()" style="cursor:default" unselectable="on" onselectstart="return false;"> <span><</span> </div> <div id="wrap" class="wrap"> <span onclick="選択済み(これ)">1</span> <span onclick="選択済み(これ)">2</span> <span onclick="選択済み(this)">3</span> <span onclick="選択済み(これ)">4</span> <span onclick="selected(this)">5</span> </div> <div id="right" class="arrow_right arrow_active" onclick="clickNext()" style="cursor:default" unselectable="on" onselectstart="return false;"> <span>></span> </div> </div> <div class="content" id="content"> </div> </本文> </html> 2.js コードは次のとおりです。 window.onload = 関数(){ //最初のレンダリングリスト initList(firstIndex); }; yearArr = [2007、2008、2009、2010、2011、2012、2013、2014、2015、2016、2017、2018、2019、2020、2021] とします。 年Arr.reverse(); //開始インデックス let firstIndex = 0; // 選択されたインデックス。デフォルトでは最初のものが選択されます。let selectedIndex = 0; /** * 初期化リスト */ 関数 initList(firstIndex) { //ページ スパン リストをレンダリングします。let spanList = document.getElementById('wrap').getElementsByTagName('span'); (i = 0 とします; i < spanList.length; i++) { インデックス = firstIndex + i; とします。 span = spanList[i]とします。 span.innerText = yearArr[インデックス]; //追加および削除するスタイルを選択します if (index === selectedIndex) { span.classList.add('アクティブ'); } それ以外 { span.classList.remove('アクティブ') } } //ページ コンテンツの表示値 document.getElementById('content').innerText = '現在選択されている年:' + yearArr[selectedIndex]; } /** * 次のページ */ 関数 clickNext(div) { (firstIndex + 5 < yearArr.length) の場合 { 最初のインデックス = 最初のインデックス + 1; initList(最初のインデックス) } 矢印アクティブ(); } /* * 前のページ */ 関数 clickBefore(div) { (最初のインデックス>0)の場合{ 最初のインデックス = 最初のインデックス - 1; initList(最初のインデックス) } 矢印アクティブ(); } /** * 選択 */ 関数 selected(span) { 値を span.innerText とします。 index = yearArr.findIndex((el) => { とします。 el + "" === 値を返します。 }) selectedIndex = インデックス !== -1 ? インデックス : 0; リストを初期化します(最初のインデックス); } /** * 左矢印と右矢印が有効 * firstIndex = 0: 右が有効、左は無効 * firstIndex = length-5: 左が有効、右は無効 * その他: すべて有効 */ 関数 arrowActive() { 左 = document.getElementById('left') とします。 右 = document.getElementById('right') とします。 左のクラスリストに('arrow_active')を追加します。 右のクラスリストに('arrow_active')を追加します。 (firstIndex === 0)の場合{ 左のクラスリストを削除します('arrow_active'); } そうでない場合 (firstIndex === yearArr.length - 5) { 右のクラスリストを削除します('arrow_active'); } } 2.css コードは次のとおりです。 体{ 上マージン: 80px; } 。容器 { ディスプレイ: フレックス; コンテンツの中央揃え: 中央; アイテムの位置を中央揃えにします。 マージン: 10px; } 。包む { 高さ: 40px; zインデックス: 1; 色: 黒; ディスプレイ: フレックス; フレックス: 1; 背景: rgba(155,226,219,0.5); 境界線の半径: 20px; 左マージン: 20px; 右マージン: 20px; } .wrap スパン { フレックス: 1; テキスト配置: 中央; 高さ: 40px; 行の高さ: 40px; 境界線の半径: 20px; } 。アクティブ{ 背景: #1abc9c; 色:#fff; } .arrow_left { 左: 10px; 色: 緑; パディング: 0px 14px; 境界線の半径: 50%; フォントサイズ: 30px; zインデックス: 2; } .arrow_right { 右: 10px; 色: 緑; パディング: 0px 14px; 境界線の半径: 50%; フォントサイズ: 30px; zインデックス: 2; } .arrow_active{ 色: 青; } 。コンテンツ{ 左マージン: 30px; } 要約する毎日少しずつ録音して、新人から新人へと成長しましょう! ! ! js ネイティブを使用して年カルーセル選択エフェクトを実装する方法についての記事はこれで終わりです。年カルーセル選択コンテンツの js ネイティブ実装の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue フィルター、ライフサイクル関数、vue-resource の簡単な紹介
max_allowed_packet は、受け入れるパケットのサイズを設定するために使用される ...
1. MySQLは現在の日付と時刻を取得する関数1.1 現在の日付 + 時刻 (日付 + 時刻) ...
最近、次のような効果を達成する必要がある最初は、CSS3D回転を使用して記述すると、次の効果しか得ら...
MySQL 8.0.18 では、インデックスが作成されていないフィールドに適用でき、等価値の関連付け...
wgetコマンドを使用して、親ディレクトリの下のサブディレクトリ全体をダウンロードします。親ディレク...
この学習ノートの最初の記事として、シリーズの他の記事と同様に、Bootstrap の紹介から始め、そ...
まず効果を見てみましょう: マウスを画像の上に移動すると、影の効果とテキスト/アイコンが追加されます...
目次1. はじめに2. インストール3. 基本的な使い方3.1、-rパラメータ3.2、-aパラメータ...
1.Tomcatの最適化構成(1)Tomcatのcatalina.batを変更するJavaをサーバー...
今日もとても実践的な事例です。名前を聞くだけで高度で難しそうですよね?今日はカルーセル画像の真髄を簡...
イベントの説明onactivate: オブジェクトがアクティブ要素として設定されたときに発生します。...
それは何ですか? em はフォントの高さを指し、どのブラウザでもデフォルトのフォントの高さは 16 ...
序文この記事は主にMySQLメタデータ生成Hiveテーブル作成ステートメントコメントスクリプトに関す...
目次1. コンポーネントの肥大化2. 状態を直接変更する3. プロパティは数値を渡す必要があるが文字...
html2canvas は、HTML 要素からキャンバスを生成するライブラリです。描画されるキャンバ...