<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JavaScript  |  takeHo（たけほ）のへなちょこ台帳</title>
	<atom:link href="https://blog.takeho.com/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.takeho.com</link>
	<description>いわゆる自由帳ってところです。</description>
	<lastBuildDate>Tue, 09 Dec 2025 01:28:45 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6</generator>

<image>
	<url>https://blog.takeho.com/wp-content/uploads/2024/08/icon-150x150.png</url>
	<title>JavaScript  |  takeHo（たけほ）のへなちょこ台帳</title>
	<link>https://blog.takeho.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>初心者必見！Vue.jsで超簡単にWeb開発を始める方法！</title>
		<link>https://blog.takeho.com/how-to-start-web-development-with-vue-js-very-easily/</link>
					<comments>https://blog.takeho.com/how-to-start-web-development-with-vue-js-very-easily/#respond</comments>
		
		<dc:creator><![CDATA[たけほ]]></dc:creator>
		<pubDate>Wed, 12 Mar 2025 03:48:53 +0000</pubDate>
				<category><![CDATA[ウェブ・開発]]></category>
		<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://blog.takeho.com/?p=852</guid>

					<description><![CDATA[Vue.jsは、シンプルで柔軟なフレームワークとして、多くの開発者に愛用されています。本記事では、Vue.jsを初めて学ぶ方に向けて、基本概念の説明や動作サンプル、開発をスムーズに進めるための推奨ツールを紹介します。 目 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Vue.jsは、シンプルで柔軟なフレームワークとして、多くの開発者に愛用されています。本記事では、Vue.jsを初めて学ぶ方に向けて、基本概念の説明や動作サンプル、開発をスムーズに進めるための推奨ツールを紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2"><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Vue.jsとは？なぜ選ばれるのか？</a><ol><li><a href="#toc2" tabindex="0">Vue.jsのメリット</a></li></ol></li><li><a href="#toc3" tabindex="0">Vue.jsを始める準備</a><ol><li><a href="#toc4" tabindex="0">CDNを利用する方法</a></li><li><a href="#toc5" tabindex="0">Vue CLIを利用する方法</a></li></ol></li><li><a href="#toc6" tabindex="0">Vue.jsの基本概念とサンプルコード</a><ol><li><a href="#toc7" tabindex="0">1 データバインディング</a></li><li><a href="#toc8" tabindex="0">2 条件分岐</a></li><li><a href="#toc9" tabindex="0">3 ループ表示</a></li><li><a href="#toc10" tabindex="0">4 イベント処理</a></li></ol></li><li><a href="#toc11" tabindex="0">Vue.js開発におすすめのツール</a><ol><li><a href="#toc12" tabindex="0">Vue DevTools</a></li><li><a href="#toc13" tabindex="0">Vite</a></li><li><a href="#toc14" tabindex="0">Vue Router</a></li><li><a href="#toc15" tabindex="0">Pinia</a></li></ol></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Vue.jsとは？なぜ選ばれるのか？</span></h2>



<p>Vue.jsは、ユーザーインターフェースを構築するためのJavaScriptフレームワークです。ReactやAngularと並ぶ人気のフレームワークであり、以下の特徴があります。</p>



<h3 class="wp-block-heading"><span id="toc2">Vue.jsのメリット</span></h3>



<ul class="wp-block-list">
<li><strong>シンプルな構文で学びやすい</strong><br>直感的な記述ができ、初心者でもすぐに習得可能。</li>



<li><strong>コンポーネントベースの開発が可能</strong><br>再利用可能な部品を作成し、コードを効率的に管理。</li>



<li><strong>軽量かつ高速</strong><br>必要最小限のサイズでパフォーマンスも抜群。</li>



<li><strong>強力なリアクティブ機能</strong><br>データと画面を同期し、スムーズなUIを実現。</li>



<li><strong>豊富なエコシステム</strong><br>Vue RouterやVuex、Piniaなど便利なライブラリが充実。</li>
</ul>



<p></p>



<p>Vue.jsは、「シンプルさ」と「パワフルさ」を兼ね備えたフレームワークで、初心者からプロフェッショナルまで幅広く支持されています。</p>



<h2 class="wp-block-heading"><span id="toc3">Vue.jsを始める準備</span></h2>



<p>Vue.jsを動作させるには、以下のいずれかの方法で開発環境を準備します。</p>



<h3 class="wp-block-heading"><span id="toc4">CDNを利用する方法</span></h3>



<p>最も簡単に試す方法は、CDNを利用することです。</p>



<pre class="wp-block-code"><code>&lt;!DOCTYPE html&gt;
&lt;html lang="ja"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;title&gt;Vue.js 入門&lt;/title&gt;
    &lt;script src="https://cdn.jsdelivr.net/npm/vue@3/dist/vue.global.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id="app"&gt;
        &lt;p&gt;{{ message }}&lt;/p&gt;
    &lt;/div&gt;
    &lt;script&gt;
        const app = Vue.createApp({
            data() {
                return {
                    message: 'こんにちは、Vue.js！'
                };
            }
        });
        app.mount('#app');
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>



<p>このコードをブラウザで開くだけで、Vue.jsが動作します。</p>



<h3 class="wp-block-heading"><span id="toc5">Vue CLIを利用する方法</span></h3>



<p>より本格的に開発を進める場合、Vue CLIを使用します。</p>



<pre class="wp-block-code"><code>npm install -g @vue/cli
vue create my-vue-app
cd my-vue-app
npm run serve</code></pre>



<h2 class="wp-block-heading"><span id="toc6">Vue.jsの基本概念とサンプルコード</span></h2>



<h3 class="wp-block-heading"><span id="toc7">1 データバインディング</span></h3>



<p>Vueでは、データをHTMLと紐付けることができます。</p>



<pre class="wp-block-code"><code>&lt;div id="app"&gt;
    &lt;input v-model="message" placeholder="入力してください"&gt;
    &lt;p&gt;あなたが入力した内容: {{ message }}&lt;/p&gt;
&lt;/div&gt;
&lt;script&gt;
    const app = Vue.createApp({
        data() {
            return {
                message: ''
            };
        }
    });
    app.mount('#app');
&lt;/script&gt;</code></pre>



<p><code>v-model</code>ディレクティブを使うことで、双方向データバインディングが実現できます。</p>



<h3 class="wp-block-heading"><span id="toc8">2 条件分岐</span></h3>



<pre class="wp-block-code"><code>&lt;div id="app"&gt;
    &lt;button @click="isVisible = !isVisible"&gt;表示切替&lt;/button&gt;
    &lt;p v-if="isVisible"&gt;このテキストは表示・非表示を切り替えられます。&lt;/p&gt;
&lt;/div&gt;
&lt;script&gt;
    const app = Vue.createApp({
        data() {
            return {
                isVisible: true
            };
        }
    });
    app.mount('#app');
&lt;/script&gt;</code></pre>



<p><code>v-if</code>を使うことで、条件に応じて要素を表示・非表示にできます。</p>



<h3 class="wp-block-heading"><span id="toc9">3 ループ表示</span></h3>



<pre class="wp-block-code"><code>&lt;div id="app"&gt;
    &lt;ul&gt;
        &lt;li v-for="(item, index) in items" :key="index"&gt;{{ item }}&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
&lt;script&gt;
    const app = Vue.createApp({
        data() {
            return {
                items: &#91;'りんご', 'バナナ', 'ぶどう']
            };
        }
    });
    app.mount('#app');
&lt;/script&gt;</code></pre>



<p><code>v-for</code>を使用すると、リストデータを簡単に描画できます。</p>



<h3 class="wp-block-heading"><span id="toc10">4 イベント処理</span></h3>



<pre class="wp-block-code"><code>&lt;div id="app"&gt;
    &lt;button @click="increment"&gt;カウント: {{ count }}&lt;/button&gt;
&lt;/div&gt;
&lt;script&gt;
    const app = Vue.createApp({
        data() {
            return {
                count: 0
            };
        },
        methods: {
            increment() {
                this.count++;
            }
        }
    });
    app.mount('#app');
&lt;/script&gt;</code></pre>



<p><code>@click</code>を使ってボタンをクリックしたときにカウンターを増加させることができます。</p>



<h2 class="wp-block-heading"><span id="toc11">Vue.js開発におすすめのツール</span></h2>



<h3 class="wp-block-heading"><span id="toc12">Vue DevTools</span></h3>



<ul class="wp-block-list">
<li>Vue.jsの状態を視覚的にデバッグできるブラウザ拡張ツール</li>



<li>ChromeおよびFirefoxで利用可能</li>
</ul>



<h3 class="wp-block-heading"><span id="toc13">Vite</span></h3>



<ul class="wp-block-list">
<li>高速な開発環境を提供するツール</li>



<li><code>npm create vite@latest my-vue-app --template vue</code> で簡単にセットアップ可能</li>
</ul>



<h3 class="wp-block-heading"><span id="toc14">Vue Router</span></h3>



<ul class="wp-block-list">
<li>シングルページアプリケーション（SPA）のルーティングを管理するライブラリ</li>
</ul>



<h3 class="wp-block-heading"><span id="toc15">Pinia</span></h3>



<ul class="wp-block-list">
<li>Vuexの後継として注目される状態管理ライブラリ</li>
</ul>



<h2 class="wp-block-heading"><span id="toc16">まとめ</span></h2>



<p>Vue.jsは、シンプルな構文で学びやすく、柔軟な開発が可能なフレームワークです。本記事では、基本概念をサンプルコードとともに紹介しました。Vue.jsを活用することで、開発効率を向上させ、素早く美しいWebアプリを作成できます。ぜひ、実際にコードを書きながらVue.jsを習得してください！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.takeho.com/how-to-start-web-development-with-vue-js-very-easily/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>知らなきゃ損！jQueryの便利テクニック5選で開発効率UP</title>
		<link>https://blog.takeho.com/qo9uc1535pc9w64io9ywgucogkeg2jlw/</link>
					<comments>https://blog.takeho.com/qo9uc1535pc9w64io9ywgucogkeg2jlw/#respond</comments>
		
		<dc:creator><![CDATA[たけほ]]></dc:creator>
		<pubDate>Thu, 31 Oct 2024 16:03:00 +0000</pubDate>
				<category><![CDATA[ウェブ・開発]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<guid isPermaLink="false">https://blog.takeho.com/?p=509</guid>

					<description><![CDATA[目次 .on() メソッドで複数のイベントを一度に設定$.each()で簡単にループ処理フェードイン・フェードアウトで要素を滑らかに表示/非表示$.ajax()でシンプルな非同期通信.toggleClass()で複雑なス [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4"><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">.on() メソッドで複数のイベントを一度に設定</a></li><li><a href="#toc2" tabindex="0">$.each()で簡単にループ処理</a></li><li><a href="#toc3" tabindex="0">フェードイン・フェードアウトで要素を滑らかに表示/非表示</a></li><li><a href="#toc4" tabindex="0">$.ajax()でシンプルな非同期通信</a></li><li><a href="#toc5" tabindex="0">.toggleClass()で複雑なスタイルの切り替え</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">.on() メソッドで複数のイベントを一度に設定</span></h2>



<p>jQueryの<code>.on()</code>メソッドを使うと、複数のイベントを一度に設定することができます。特に似たようなイベントが複数必要な時に便利です。</p>



<pre class="wp-block-code"><code>$("button").on("mouseenter mouseleave", function() {
    $(this).toggleClass("hovered");
});</code></pre>



<p>この例では、ボタン要素にマウスが乗ったり離れたりするたびにクラスがトグルされます。</p>





<a rel="noopener" href="https://api.jquery.com/on" title=".on() | jQuery API Documentation" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fapi.jquery.com%2Fon?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">.on() | jQuery API Documentation</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://api.jquery.com/on" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">api.jquery.com</div></div></div></div></a>




<h2 class="wp-block-heading"><span id="toc2">$.each()で簡単にループ処理</span></h2>



<p>jQueryの<code>$.each()</code>メソッドを使えば、配列やオブジェクトのループ処理が簡単に行えます。</p>



<pre class="wp-block-code"><code>const fruits = &#91;"apple", "orange", "banana"];
$.each(fruits, function(index, value) {
    console.log(index + ": " + value);
});</code></pre>



<p><code>$.each()</code>は、DOM要素だけでなく配列にも使えます！</p>





<a rel="noopener" href="https://api.jquery.com/jQuery.each/#jQuery-each-array-callback" title="jQuery.each() | jQuery API Documentation" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fapi.jquery.com%2FjQuery.each%2F%23jQuery-each-array-callback?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">jQuery.each() | jQuery API Documentation</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://api.jquery.com/jQuery.each/#jQuery-each-array-callback" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">api.jquery.com</div></div></div></div></a>




<h2 class="wp-block-heading"><span id="toc3">フェードイン・フェードアウトで要素を滑らかに表示/非表示</span></h2>



<p>jQueryには<code>.fadeIn()</code>と<code>.fadeOut()</code>メソッドがあり、要素の表示/非表示にアニメーション効果を付けられます。使い方も簡単です。</p>



<pre class="wp-block-code"><code>$(".btn").click(function() {
    $(".content").fadeToggle(500);
});</code></pre>



<p>この例では、ボタンをクリックするたびに500msかけて要素がフェードインまたはフェードアウトします。</p>



<h2 class="wp-block-heading"><span id="toc4">$.ajax()でシンプルな非同期通信</span></h2>



<p>jQueryの<code>$.ajax()</code>メソッドは、APIなどからデータを取得する際に便利です。直感的に書けるので、非同期通信が苦手でも簡単に使えます。</p>



<pre class="wp-block-code"><code>$.ajax({
    url: "https://api.example.com/data",
    type: "GET",
    dataType: "json",
    success: function(data) {
        console.log("取得したデータ:", data);
    },
    error: function(error) {
        console.error("エラーが発生:", error);
    }
});</code></pre>



<p>非同期通信に関する設定がまとまっているので、管理がしやすいのも魅力です。</p>





<a rel="noopener" href="https://api.jquery.com/jQuery.ajax/#jQuery-ajax-url-settings" title="jQuery.ajax() | jQuery API Documentation" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fapi.jquery.com%2FjQuery.ajax%2F%23jQuery-ajax-url-settings?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">jQuery.ajax() | jQuery API Documentation</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://api.jquery.com/jQuery.ajax/#jQuery-ajax-url-settings" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">api.jquery.com</div></div></div></div></a>




<h2 class="wp-block-heading"><span id="toc5">.toggleClass()で複雑なスタイルの切り替え</span></h2>



<p><code>.toggleClass()</code>メソッドを使うと、あるクラスが存在しない場合は追加し、存在する場合は削除します。スタイルの切り替えやボタンの状態変化などに使えます。</p>



<pre class="wp-block-code"><code>$("button").click(function() {
    $(this).toggleClass("active");
});</code></pre>



<p>ボタンをクリックするたびに<code>active</code>クラスが付与/削除され、CSSを使って見た目や挙動を変えられます。</p>





<a rel="noopener" href="https://api.jquery.com/toggleClass/#toggleClass-className" title=".toggleClass() | jQuery API Documentation" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fapi.jquery.com%2FtoggleClass%2F%23toggleClass-className?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">.toggleClass() | jQuery API Documentation</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://api.jquery.com/toggleClass/#toggleClass-className" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">api.jquery.com</div></div></div></div></a>

]]></content:encoded>
					
					<wfw:commentRss>https://blog.takeho.com/qo9uc1535pc9w64io9ywgucogkeg2jlw/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JSでDOMの要素の変化を監視してイベントを発生させる</title>
		<link>https://blog.takeho.com/5vbjbjkot1jxy6g9urii90twi24lub3n/</link>
					<comments>https://blog.takeho.com/5vbjbjkot1jxy6g9urii90twi24lub3n/#respond</comments>
		
		<dc:creator><![CDATA[たけほ]]></dc:creator>
		<pubDate>Fri, 23 Aug 2024 17:50:00 +0000</pubDate>
				<category><![CDATA[ウェブ・開発]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://blog.takeho.com/?p=225</guid>

					<description><![CDATA[ページをある程度スクロールすると など、クラス名が動的に追加される場面があります。 ここでは要素を監視し、クラス名にheader-fixedが追加されたらイベントを発生させる方法を説明します。 目次 使用する機能Muta [&#8230;]]]></description>
										<content:encoded><![CDATA[
<pre class="wp-block-code"><code>&lt;div id="navi" class="nav-header"></code></pre>



<p>ページをある程度スクロールすると</p>



<pre class="wp-block-code"><code>&lt;div id="navi" class"nav-header header-fixed"></code></pre>



<p>など、クラス名が動的に追加される場面があります。</p>



<p>ここでは要素を監視し、クラス名に<strong>header-fixed</strong>が追加されたらイベントを発生させる方法を説明します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6"><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">使用する機能</a><ol><li><a href="#toc2" tabindex="0">MutationObserverとは</a></li></ol></li><li><a href="#toc3" tabindex="0">使い方</a><ol><li><a href="#toc4" tabindex="0">トリガーの指定</a></li><li><a href="#toc5" tabindex="0">オブザーバーの作成</a></li><li><a href="#toc6" tabindex="0">監視を開始する</a></li><li><a href="#toc7" tabindex="0">監視を停止</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">使用する機能</span></h2>



<p>ここでは<strong>MutationObserver</strong>のクラスを使用します。</p>



<h3 class="wp-block-heading"><span id="toc2">MutationObserverとは</span></h3>



<p><strong>MutationObserver</strong>（ミューテーションオブザーバー）は</p>



<ul class="wp-block-list">
<li>Mutation　→　突然変異</li>



<li>Observer　→　観察者</li>
</ul>



<p>という意味があり、DOMに変化が加わったことを監視し、変更があった場合にコールバックを起動する組み込みのオブジェクトになります。</p>



<h2 class="wp-block-heading"><span id="toc3">使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc4">トリガーの指定</span></h3>



<p>次のように監視するDOMを指定します。</p>



<pre class="wp-block-code"><code>var target = document.getElementById('navi');</code></pre>



<h3 class="wp-block-heading"><span id="toc5">オブザーバーの作成</span></h3>



<p>次のように変化が発生したときの処理を指定します。</p>



<pre class="wp-block-code"><code>var observer = new MutationObserver(records => {
  if (jQuery('#navi').hasClass('header-fixed')) {
    alert('header-fixed exists.');
  } else {
    alert('header-fixed is not exists.');
  }
});</code></pre>



<h3 class="wp-block-heading"><span id="toc6">監視を開始する</span></h3>



<p>次の記述で監視を開始します。</p>



<pre class="wp-block-code"><code>observer.observe(target, {
  attributes: true,
  attributeFilter: &#91;'class']
});</code></pre>



<p>これで<strong>header-fixed</strong>のクラスが動的に追加・削除を監視してアラートを出す事ができます。</p>



<h3 class="wp-block-heading"><span id="toc7">監視を停止</span></h3>



<p>次の記述で監視を停止します。</p>



<pre class="wp-block-code"><code>observer.disconnect();</code></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.takeho.com/5vbjbjkot1jxy6g9urii90twi24lub3n/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
