Javascriptで季節に応じて自動的にデザインを変える方法
季節(四季)に応じて自動的に背景画像を変えたり、イラストを変えたりしたいという要望を受けたことありませんか?そんな時にコピペで使えるjavascriptをご紹介します。
季節の日付を考え、設定する。
まずは何日〜何日が春か夏か秋か冬かを考えます。今回の例では、以下のように設定します。
春:3月1日〜5月31日
夏:6月1日〜8月31日
秋:9月1日〜10月30日
冬:11月1日〜2月28日
もちろんこれは任意なので、好きな日にちを指定してください。
日付の設定の書き方 javascript
日付が決まったら、以下の例に添って日付を書き換えてください。
※ここで注意点ですが、冬だけは年をまたぐ部分の処理があるので、12月31日までと1月1日からは、例にならって分けて記述します。
//季節の日付設定 =============================================
var m = new Date(); //今日の日時を取得
var this_year = m.getFullYear(); //今年の年号(西暦)を取得
var n;
var x;
//春===============
n = Date.parse(this_year + "/" + "3/1");
//3月1日のミリ秒を取得
x = (m - n) / 1000 / 60 / 60 / 24;
//今日のミリ秒から3月1日のミリ秒を引いてミリ秒を1日単位に変換
//xが0より大きければ過去の日付、0より小さければ未来の日付
var spr1 = Math.floor(x);
//xを整数化して変数に代入
n = Date.parse(this_year + "/" + "5/31");
x = (m - n) / 1000 / 60 / 60 / 24;
var spr2 = Math.floor(x);
//夏===============
n = Date.parse(this_year + "/" + "6/1");
x = (m - n) / 1000 / 60 / 60 / 24;
var sum1 = Math.floor(x);
n = Date.parse(this_year + "/" + "8/31");
x = (m - n) / 1000 / 60 / 60 / 24;
var sum2 = Math.floor(x);
//秋===============
n = Date.parse(this_year + "/" + "9/1");
x = (m - n) / 1000 / 60 / 60 / 24;
var aut1 = Math.floor(x);
n = Date.parse(this_year + "/" + "10/30");
x = (m - n) / 1000 / 60 / 60 / 24;
var aut2 = Math.floor(x);
//冬===============
n = Date.parse(this_year + "/" + "11/1");
x = (m - n) / 1000 / 60 / 60 / 24;
var win1 = Math.floor(x);
n = Date.parse(this_year + "/" + "12/31");
x = (m - n) / 1000 / 60 / 60 / 24;
var win2 = Math.floor(x);
//冬===============(年またぎ)
n = Date.parse(this_year + "/" + "1/1");
x = (m - n) / 1000 / 60 / 60 / 24;
var win3 = Math.floor(x);
n = Date.parse(this_year + "/" + "2/28");
x = (m - n) / 1000 / 60 / 60 / 24;
var win4 = Math.floor(x);
季節ごとの処理
あとは、条件分岐を使ってbodyにクラスをつけたりして自由にデザインを変えてください。
if ((spr1 >= 0) && (spr2 <= 0)){
//春に表示したい内容
$('body').attr("class","spr");
} else if ((sum1 >= 0) && (sum2 <= 0)){
//夏に表示したい内容
$('body').attr("class","sum");
} else if ((aut1 >= 0) && (aut2 <= 0)){
//秋に表示したい内容
$('body').attr("class","aut");
} else if ((win1 >= 0) && (win2 <= 0)){
//冬に表示したい内容
$('body').attr("class","win");
} else if ((win3 >= 0) && (win4 <= 0)){
//冬に表示したい内容
$('body').attr("class","win");
}
簡単ですね、これで1年を通して季節毎に変わるサイトが簡単に作成できます。
もちろん応用すれば、毎月変わるデザインなんかも出来ますよね。
※当記事の掲載内容は執筆現在の個人の見解・調査によるもので、動作・サービス等を保証するものではありません。最新情報は各公式サイトでご確認頂き、購入・契約・データ作成等はご自身の判断・責任でお願いします。 免責事項
関連記事
jQuery「after」で要素の直後にHTMLを挿入する
jQuery「text()」でテキストを取得・変更する
jQuery「css()」でCSSのスタイルを取得・変更する
jQuery「.clone()」で指定要素をコピーする方法
jQuery「.next() / .nextAll()」で直後の兄弟要素を取得する方法
jQuery「.eq()」で順番指定で要素を取得する方法
jQuery「.fadeTo()」で指定要素の透明度を変更する方法
jQuery「.get()」で jQueryオブジェクトからDOM要素を取得する方法
jQuery「insertBefore」でHTMLを「指定要素の直前」に移動する
Swiper V8の使い方「レスポンシブ等の具体例」とオプション解説
サイト内検索
[ー]
新着記事
- YouTubeより詳しく!まとめて学べる『WEBデザイン動画講座』
- Figmaの背景切り抜きプラグイン『Remove BG』のAPI Key取得方法と使い方
- WEBデザイン動画講座のご紹介【お得な割引アリ】
- WixでWEBデザイナーが「ポートフォリオサイト」を作ってみた!
- WEBデザインツールの比較!初心者におすすめは?Figma Photoshop Xd Illustrator
- CodeCampGATE(コードキャンプゲート)とは?転職・就職先と評判
- コードキャンプの「Webデザイン・Webデザイン副業コース」を卒業生が解説!
- テックアカデミー「はじめての副業コース」卒業生が内容を解説!
- PHPの独学!挫折しないおすすめ勉強方法!
- 16インチMacbook Proで使える100Wモバイルバッテリー Zendure SuperTankレビュー
- [体験談] CodeCamp(コードキャンプ)で挫折する理由!
- テックアカデミー「受講した感想・評判」学習内容の総まとめ!
- Photoshop 超リアルな商品写真の鏡面反射の作り方
- デイトラの評判は?詳細内容とメリット・デメリットを解説
- CSSだけ超簡単!画像トリミングできる 「object-fit」 の使い方
- コードキャンプ 「無料体験・カウンセリング」を受講してみた!予約方法や内容の体験談
- デジタルハリウッドSTUDIO by LIGの評判
- PhotoshopでWEBデザインする基本の設定とテクニック
- テックアイエス評判は?現役プロがTECH I.S.を徹底調査!
- WEBデザインの練習・勉強をしながら「お金までもらえる」超おすすめの学習方法!
カテゴリー
タグリスト