JavaScript

JavaScript

【JavaScript】ボタンを連打防止!一定時間内の複数クリックを無効化する方法

フォームの送信ボタンやAjax処理などで、ユーザーが同じボタンを何度もクリックしてしまうと、重複送信や想定外の動作が起きるこ
JavaScript

【JavaScript】画像が読み込まれたかを判定して処理を実行する方法

Webページ上で画像が正しく読み込まれたかを検知し、それに応じた処理を行いたい場面は多くあります。例えば、画像が表示された後にアニ
JavaScript

【JavaScript】指定回数以上クリックされたら処理を実行する方法

Webサイトで特定の要素を何回かクリックした後に処理を実行したい場面は意外と多くあります。例えば、隠し機能を実行したり、ボタン
JavaScript

【JavaScript】配列の重複を簡単に削除する方法(Set・filterの活用)

JavaScriptで配列を扱う際、重複した値を取り除きたい場面は多々あります。この記事では、簡潔かつ効率的に重複を削除する代表的な2
JavaScript

【JavaScript】ローカルストレージに保存したデータをページ読み込み時に反映する方法

Webアプリで入力内容や設定状態を保存し、次回の訪問時にも同じ状態を保ちたい場合、ローカルストレージ(localStorage)を活用する
JavaScript

【JavaScript】URLに応じてページの表示内容を切り替える方法

Webページの表示を訪問者のアクセスURLに応じて切り替えたい場面は多くあります。例えば、特定のキャンペーンページでのみ特別なコンテ
JavaScript

【JavaScript】一定時間スクロールされなかったらポップアップを表示する方法

ユーザーがページを開いた後に何もアクション(特にスクロール)をしないまま一定時間が経過した場合に、注目コンテンツやお知らせ
JavaScript

【JavaScript】特定の時間帯だけ表示・非表示を切り替える処理の書き方

Webサイト上で「特定の時間帯だけ表示させたいバナー」や「深夜には非表示にしたいコンテンツ」など、時間帯によって表示・非表示を切
JavaScript

【JavaScript】入力フォームの自動補完機能を実装する方法

入力フォームに自動補完機能(オートコンプリート)を追加することで、ユーザーの入力作業を効率化し、入力ミスの防止にもつながり
JavaScript

【JavaScript】URLパラメータを取得して処理を分岐する方法

URLパラメータを取得して処理を分岐する方法を解説します。URLSearchParamsでのget/has/getAll、if/else・switch・オブジェクトマップでの分岐、Object.fromEntriesでの一括取得、リロードせずにパラメータを更新するhistory.replaceState、戻る/進むに対応するpopstateまで、Nodeで検証したコードで紹介します。
JavaScript

【JavaScript】フォーム入力内容をローカルストレージに保存する方法|リロードしても消えない!

フォームの入力内容をlocalStorageに保存し、リロードしても消えないようにする方法を解説します。inputイベントでの保存・DOMContentLoadedでの復元、複数フィールドをJSON.stringifyで一括保存、チェックボックス対応、送信後のクリア、機密情報を保存しない注意点まで、Nodeで検証したコードで紹介します。
JavaScript

【JavaScript】IntersectionObserverでスクロール時に要素をふわっと表示させる方法

IntersectionObserverを使って、スクロールで画面に入った要素をふわっと表示する方法を解説します。CSSのtransitionでフェードアップ、IntersectionObserverでのクラス付与、一度きりにするunobserve、threshold/rootMarginの調整、prefers-reduced-motionへの配慮まで、動くデモ付きで紹介します。
JavaScript

【JavaScript】ページ読み込み後に一度だけ実行される処理の書き方

ページ読み込み後に一度だけ処理を実行する方法を解説します。DOM構築後のDOMContentLoaded、画像まで待つload、イベントを使わずに済むdeferスクリプト、「毎回」と「初回アクセスだけ」の違い(localStorage)、jQueryのreadyまで、使い分けを表でまとめて紹介します。
JavaScript

【JavaScript】1行で書ける便利テクニック10選

JavaScriptで覚えておくと便利な1行テクニックを10個紹介します。三項演算子、??によるデフォルト値、スプレッドでの配列コピー、filter・map・includes、IIFE、Object.keys、文字列→数値変換、短いループまで、Nodeで動作確認したコードで解説します。可読性とのバランスも紹介します。
JavaScript

【JavaScript】アンカーリンクのスムーススクロールを実装する方法

アンカーリンク(#リンク)のスムーススクロールを実装する方法を解説します。一番簡単なCSSのscroll-behavior、固定ヘッダー対応のscroll-margin-top、JavaScriptでのscrollIntoView・scrollToによるオフセット調整、prefers-reduced-motionへの配慮まで、用途別に紹介します。
JavaScript

【JavaScript】フォーム送信時に全角スペースを半角スペースに変換する方法

フォーム送信時に全角スペースを半角スペースへ変換する方法を解説します。submitイベントでreplace(/ /g, " ")を使う基本、すべての入力欄をまとめて変換する方法、英数字も含めて一括正規化するnormalize("NFKC")、IMEに配慮したリアルタイム変換まで、Nodeで検証したコードで紹介します。
JavaScript

【JavaScript】スマホでクリックイベントが動作しない場合の原因と解決方法

スマホでJavaScriptのclickイベントが動かない原因と解決方法を解説します。実はclickはスマホでも動くこと(300ms遅延は今はほぼ無い)、クリックできない要素やCSS(pointer-events・重なり・タップ領域)、touchstartとの二重発火、UA判定ではなくmatchMediaで判定する方法まで、アンチパターンを避けた正しい対処を紹介します。
JavaScript

【JavaScript】親要素を取得する方法

JavaScriptで親要素を取得する方法を、parentElement・parentNode・closestの3つで解説します。parentElementとparentNodeの本当の違い(最上位でのみ差が出る)、特定の祖先をたどるclosest()、さらに上の階層へのたどり方まで、実例で紹介します。
JavaScript

【JavaScript】要素が画面内にあるかどうかを判別する方法

要素が画面内(ビューポート内)にあるかを判別する方法を、IntersectionObserverとgetBoundingClientRectの2通りで解説します。「完全に見える」と「一部でも見える」で判定条件が違う点、scrollイベントで判定するときの間引き、どちらを使うべきかの使い分けまで、Nodeで検証した条件式で紹介します。
JavaScript

【JavaScript】Micromodal.jsで簡単にモーダルを実装する方法

Micromodal.jsで軽量・アクセシブルなモーダルを実装する方法を解説します。CDN/npmでの導入、必要なHTML構造、MicroModal.init()とshow()での開閉、disableScrollなどのオプション、CSSの調整まで紹介します。まずはネイティブのdialog要素で足りるかも検討します。