シンプルなカレンダー効果を実現する js

シンプルなカレンダー効果を実現する js

この記事では、シンプルなカレンダー効果を実現するためのjsの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

## css モジュール <style type="text/css">
  *{
   マージン: 0;
   パディング: 0;
  }
  。日付{
   幅: 300ピクセル;
   高さ: 220px;
   境界線: 1px実線 #000;
   マージン: 100px 自動;
  }
  。タイトル{
   幅: 200ピクセル;
   ディスプレイ: フレックス;
   フォントサイズ: 12px;
   マージン: 自動;
   テキスト配置: 中央;
   コンテンツの両端揃え: スペースを空ける;
   アイテムの位置を中央揃えにします。
  }
  。年{
   マージン: 0 40px;
   ディスプレイ: フレックス;
   flex-direction: 列;
  }
  #週{
   上境界線: 1px 実線 #000;
   下境界線: 1px 実線 #000;
   マージン: 自動;
   リストスタイルタイプ: なし;
   ディスプレイ: フレックス;
  }
  #週 li{
   表示: インラインブロック;
   テキスト配置: 中央;
   フレックス:1;
  }
  #ul{
   リストスタイルタイプ: なし;
   上マージン: 5px;
  }
  #ul li {
   表示: インラインブロック;
   幅: 40px;
   高さ: 21px;
   テキスト配置: 中央;
   境界線: 1px 実線 #fff;
  }
  。現在{
   色:赤;
  }
  #ul li:hover{
   境界線: 1px 実線の赤;
  }
  #前へ、#次へ{
   カーソル: ポインタ;
  }
 </スタイル>

##html
<div class="date">
  <div class="title">
   <span id="prev">&lt;前月</span>
   <div class="年">
    <span id="year">2021</span>
    <span id="month">5月</span>
   </div>
   <span id="next">来月&gt;</span>
  </div>
  <!-- ul を使用してカレンダーを作成します -->
  <ul id="週">
   <li>日</li>
   <li>1つ</li>
   <li>2</li>
   <li>3</li>
   <li>4</li>
   <li>5</li>
   <li>6</li>
  </ul>
  <ul id="ul">
   
  </ul>
</div>
## js コード <script type="text/javascript">
  // 日付オブジェクト。月を切り替えるのに便利なので、グローバルとして設定します。let date = new Date();
  // クリックすると月イベントが切り替わります document.getElementById('prev').addEventListener('click',function(){
   date.setMonth(date.getMonth()-1);
   追加();
  })
  document.getElementById('next').addEventListener('click',function(){
   date.setMonth(date.getMonth()+1);
   追加();
  })
  追加();
  
  //カレンダーを作成する関数 function add(){
   // 現在の年 let cYear = date.getFullYear();
   // 現在の月 let cMonth = date.getMonth()+1;
   // 現在の日付を取得します。let cDay = date.getDate();
   
   // 年と月を書き込みます document.getElementById('year').innerHTML = cYear;
   document.getElementById('month').innerHTML = cMonth+'月';
   
   
   days = new Date(cYear,cMonth,-1) とします。
   // 現在の月の日数 let n = days.getDate()+1;
   // 各月の最初の日は週の何曜日ですか? let week = new Date(cYear,cMonth-1,1).getDay();
   html = '' とします。
   //domに書き込む
   for(let i=0;i<week;i++){
    html+=`<li></li>`
   }
   for(let i=1;i<=n;i++){
    if(i==cDay){
     html+=`<li class="current">${i}</li>`
    }それ以外{
     html+=`<li>${i}</li>`
    }
   }
   // 一度挿入 document.getElementById('ul').innerHTML = html
  }
</スクリプト>

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

以下もご興味があるかもしれません:
  • シンプルなカレンダーを実現するためのjs css+html
  • 軽量ネイティブ js カレンダー プラグイン、calendar.js の使用ガイド
  • シンプルなカレンダーコントロールを学ぶJS
  • Vue.js でカレンダー効果を作成する
  • JSカレンダーのおすすめ
  • Pure js シンプルなカレンダー実装コード
  • js は、その日のシンプルなカレンダー効果を書き込みます [実装コード]
  • js カレンダー コントロール (分単位の精度)
  • PHP+JavaScript カレンダーコントロール
  • シンプルな JS カレンダー コントロールのサンプル コード

<<:  Nginx でアンチホットリンクを設定するための手順を完了する

>>:  Linux で MySQL パスワードを忘れた場合の解決策

推薦する

ウェブページ作成時のHTMLタグの使用に注意してください

この記事では、Web ページの作成を学習するときに注意すべき HTML タグに関するいくつかの問題を...

Ubuntu 16.04.4LTS に mininet をインストールする際に発生する問題と解決策

ミニネットMininet は軽量のソフトウェア定義ネットワークおよびテスト プラットフォームです。軽...

TSオブジェクトのスプレッド演算子とレスト演算子の詳細な説明

目次概要オブジェクトの残り属性オブジェクトの拡張プロパティオブジェクトの浅いコピーを作成するkeyo...

Vue Element フロントエンドアプリケーション開発の動的メニューとルーティングの関連付け処理

目次概要1. メニューとルーティング処理2. メニューとルートリスト3. ログインプロセスの処理概要...

MySQL 8.0.13 zipパッケージのインストール方法について

MySQL 8.0.13 にはデフォルトでデータ フォルダがあります。このフォルダを削除する必要があ...

GaussDB for MySQL パフォーマンス最適化の詳細な説明

目次背景インスピレーションは人生から生まれる速達配送の最適化原則GaussDB の最適化 (MySQ...

CentOS7 64ビットインストールmysqlグラフィックチュートリアル

MySQL をインストールするための前提条件: CentOS 7 64 ビットをインストールし、Ce...

Vue で webSocket を使用してリアルタイムの天気を更新する方法

目次序文webSocket の操作と例について:ウェブソケット1. webSocketについて2. ...

Alibaba Cloud ECS サーバーの開始プロセス (初心者必読のチュートリアル)

1. Alibaba Cloudは、個人のニーズに応じて適切なクラウドサーバーを選択し、CPU、メ...

JS の FileReader を介して .txt ファイルの内容を取得する方法

目次JSはFileReaderを通じて.txtファイルの内容を取得します。 .txtファイルの読み取...

js配列forEachインスタンスの詳細な使用方法

1. forEach() は map() に似ています。これも渡された関数に各要素を順番に適用します...

MySQL 5.7 解凍版のインストール、アンインストール、および文字化けしたコードの問題のグラフィック解決

1. 解凍版のインストール(1)圧縮パッケージをダウンロードし、ディスクの場所に解凍します。圧縮パッ...

MySQL 圧縮の使用シナリオとソリューション

導入圧縮トランスポート プロトコル、圧縮列ソリューション、圧縮テーブル ソリューションなど、MySQ...

CSS で 3D ブック効果を実装するためのサンプル コード

さっそく、レンダリングを見てみましょうソースコードは以下のとおりです <!DOCTYPE ht...

純粋な CSS でマークダウンの自動番号付けを実装するサンプル コード

問題の起源私がタイトルの番号付けの問題に初めて注目したのは、学部の論文を書いていた頃まで遡ります。当...