これは、ネイティブJSを使用してページングクリックコントロールを実装する必要がある面接の質問です。参考までに、具体的な内容は次のとおりです。 1. ホームページ、前のページ、次のページ、最後のページをクリックすると、対応する数字が赤色に変わります。 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> <スタイル> *{ マージン: 0px; リストスタイルタイプ: なし; } ヘッダー、フッター、セクション{ ボックスのサイズ: 境界線ボックス; テキスト配置: 中央; パディング: 5px; } ヘッダー、フッター{ 背景色: アクアマリン; フォントサイズ: 25px; } #コンテンツ{ ディスプレイ: フレックス; flex-direction: 列; コンテンツの中央揃え: 中央; アイテムの位置を中央揃えにします。 flex-wrap: nowrap; 高さ: 500px; 背景色: アンティークホワイト; } 。コンテンツ{ 境界線: 1px 点線 サドルブラウン; 最小幅: 700px; 最小高さ: 440px; 背景色: ダークシアン; } #changePage li{ 表示: インラインブロック; } 。今{ 色:赤; } 。隠れる{ 表示: 非表示 } </スタイル> </head> <本文> <header>これはヘッダーです</header> <セクション> <div id="コンテンツ"> <h2>これはコンテンツです</h2> <div class="content"> <p>これはコンテンツです</p> <p id="単語"></p> </div> <div id="ページ変更"> <ul> <li><button id="homePage" disabled="true">ホーム</button></li> <li><button id="prev" disabled="true">前のページ</button></li> <li id="btns"> <button class="now">1</button> <ボタン>2</ボタン> <ボタン>3</ボタン> <ボタン>4</ボタン> <ボタン>5</ボタン> <ボタン>6</ボタン> <ボタン>7</ボタン> <ボタン>8</ボタン> <ボタン>9</ボタン> <ボタン>10</ボタン> </li> <li><button id="next">次のページ</button></li> <li><button id="lastPage">最後のページ</button></li> <li id ="enter"><input type="number" value="1" min="1" max="10"> <button>OK</button> ページ <span>1</span> </ul> </div> </div> </セクション> <footer>これはフッターです</footer> <script src="js/page.js"></script> </本文> </html> JavaScript NUM = 1 とします。 //メイン関数、イベント関数changepage()をバインドする{ btns = document.getElementById('changePage'); element_1 を document.getElementById('btns').children とします。 // コンソール.log(要素1) ホームページを document.getElementById('homePage') にします。 lastpage = document.getElementById('lastPage'); とします。 prevpage = document.getElementById('prev'); とします。 次のページを document.getElementById('next') とします。 enterpage = document.getElementById('enter').children[1]; とします。 // console.log(ページを入力) //4つのボタンをバインドします。homepage.addEventListener('click', () => { ホームページ(); }); lastpage.addEventListener('クリック', () => { 最後のページ(); }); prevpage.addEventListener('click', () => { 前ページ(); }); nextpage.addEventListener('click', () => { 次のページ(); }); enterpage.addEventListener('click',()=>{ ページを入力します。 }) //デジタルボタンをバインドする for (let i=0; i<10; i++){ element_1[i].addEventListener('クリック',()=>{ document.getElementsByClassName('now')[0].classList.remove('now'); document.getElementById('btns').children[i].classList.add('now'); 数値 = i+1; }) } //親バブル関数をリッスンし、コンテンツ領域のテキストを制御し、ボタンのステータスを設定します btns.addEventListener('click', () => { // コンソール.log(数値) (数値 === 1)の場合{ ホームページが無効 = true; 前ページを無効に = true; 最終ページが無効 = false; 次ページが無効です = false; }それ以外の場合 (NUM > 1 && NUM < 10 ) { ホームページが無効 = false; prevpage.disabled = false; 最終ページが無効 = false; 次ページが無効です = false; }それ以外{ ホームページが無効 = false; 前ページを無効にしました = false; 最終ページが無効 = true; 次ページを無効にします。 } document.getElementById('enter').children[2].innerText = NUM; document.getElementById('word').innerText = 'これで ' + NUM + ' 要素になりました'; }); } //特定の関数の実装 function homePage() { document.getElementsByClassName('now')[0].classList.remove('now'); document.getElementById('btns').children[0].classList.add('now'); 数値 = 1; } 関数 lastPage() { document.getElementsByClassName('now')[0].classList.remove('now'); document.getElementById('btns').children[9].classList.add('now'); 数値 = 10; } 関数 nextPage(){ document.getElementsByClassName('now')[0].classList.remove('now'); document.getElementById('btns').children[NUM].classList.add('now'); 数値++; } 関数 prevPage(){ document.getElementsByClassName('now')[0].classList.remove('now'); document.getElementById('btns').children[NUM-2].classList.add('now'); 数字--; } //入力関数の実装 function enterPage(){ document.getElementsByClassName('now')[0].classList.remove('now'); var page_number = parseInt(document.getElementById('enter').children[0].value); // console.log(ページ番号); document.getElementById("btns").children[page_number-1].classList.add('now'); NUM=ページ番号; } window.onload = changepage(); 最終的な実装は次のようになります 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
昨日、パソコンにPHP開発環境をセットアップした後、Apacheサーバーを再起動するとエラーが続きま...
Nginxは正規表現を使用して、ワイルドカードドメイン名をディレクトリに自動的に一致させます。 Ng...
1998 年の CSS2 勧告の時点で、テーブルは徐々に舞台から消え、歴史の中に記録されるようになり...
目次1.watchは一般的なデータ(数値、文字列、ブール値)の変更を監視します。 1. 数値2. 文...
序文ターミナルを使用してデータベースまたはテーブルを作成するたびに、文字セットが latin1 であ...
序文: MySQL システムには、さまざまな種類のログが存在します。さまざまなログにはそれぞれ独自の...
上記:このドキュメントは、3 台の仮想マシンが相互に ping を実行できること、ファイアウォールが...
目次1. 効果の実証2. 実装チュートリアル3. 最後に、完全なコードを添付します4. その他の右ク...
1 HTML入門1.1 初めてのコード体験、最初のウェブページの作成XML/HTML コードコンテン...
<br />表の境界線の CSS 構文具体的な内容には、上境界線の幅、右境界線の幅、下境...
目次1. Redis Dockerベースイメージを作成する2. Redisノードイメージを作成する3...
マウスをドラッグしてページのスクリーンショットを撮ります(指定した領域にスクリーンショットをドラッグ...
CUDA インストール cuda をダウンロードサポートされているcudaバージョンを表示するには...
前回の記事では、Promise を使用して小さなプログラム wx.request をカプセル化する実...
この記事では、例を使用して、MySQL で複数のトリガー操作を作成する方法について説明します。ご参考...