🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1381閲覧

【JS】mixitupを同一ページに複数設置する方法

k_tora

総合スコア17

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/01/04 12:24

1ページ内に並び替えができるコンテンツを複数設置したいと考えています。
mixitup.js(https://github.com/patrickkunka/mixitup)を使って再現しようと思っているのですが、単体ですと動作するのですが、
複数設置するとナビのボタンを押すと別のコンテンツに影響がでてしまう状態です。

例えば、test-container1内の「ナビ1のコンテンツ」をクリックすると、
希望の動作としてはtest-container1内ではcont-01クラスがついたナビ1のコンテンツのみが表示される。
そしてtest-container2内のコンテンツは変化なし。
しかし、現状はtest-container1内の「ナビ1のコンテンツ」をクリックすると、
test-container1内のcont-01クラスがついたナビ1のコンテンツが表示される。
さらに、test-container2内のコンテンツが非表示になる。(display:none;がついた状態)
となってしまいます。並び替えの対象を別にしたいのですが、連動してしまっている状況です。

script内のトリガーの記述でうまくすみ分けができればと考えているのですが、そもそも可能なのでしょうか?
ご回答よろしくお願いします。

以下はソースです。

<!-- test-container1 start --> <div class="test-container1"> <!-- filter-nav start --> <div class="filter-nav"> <button type="button" class="control" data-filter="all">All</button> <button type="button" class="control" data-filter=".cont-01">ナビ1</button> <button type="button" class="control" data-filter=".cont-02">ナビ2</button> </div> <!-- filter-nav end --> <!-- content start --> <div class="mix cont-01">ナビ1のコンテンツ</div> <div class="mix cont-02">ナビ2のコンテンツ</div> <!-- content end --> </div> <!-- content end --> </div> <!-- test-container1 end --> <!-- test-container2 start --> <div class="test-container2"> <!-- filter-nav start --> <div class="filter-nav"> <button type="button" class="control" data-filter="all">All</button> <button type="button" class="control" data-filter=".cont-03">ナビ3</button> <button type="button" class="control" data-filter=".cont-04">ナビ4</button> </div> <!-- filter-nav end --> <!-- content start --> <div class="mix cont-03">ナビ3のコンテンツ</div> <div class="mix cont-04">ナビ4のコンテンツ</div> <!-- content end --> </div> <!-- content end --> </div> <!-- test-container2 end --> <script src="js/mixitup.min.js"></script> <script> var containerEl = document.querySelector('.test-container1'); var mixer = mixitup(containerEl); var containerEl2 = document.querySelector('.test-container2'); var mixer2 = mixitup(containerEl2); </script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ドキュメントに以下のようにありましたので、

When set to 'local', MixItUp will only query (or bind click events to) its own container element. This may be desireable if you require multiple active mixer instances within the same document, with controls that would otherwise intefere with each other if scoped globally.

scope | mixitup/mixitup.Config.md at v3 · patrickkunka/mixitup · GitHub

こうかな、と思います。

js

1var mixer = mixitup(containerEl,{ 2 controls: { 3 scope: 'local' 4 } 5});

サンプル

投稿2020/01/06 03:07

Lhankor_Mhy

総合スコア36928

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k_tora

2020/01/06 04:06

ご回答ありがとうございます! 正に希望の動作です。 こういうオプションがあったことを知りませんでした。 勉強になりました。感謝いたします!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問