質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

jQuery

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

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1295閲覧

アコーディオン作成で、slideUp slideDownメソッドが上手く機能しない。

chankawa

総合スコア8

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

jQuery

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

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/12/24 17:55

前提・実現したいこと

閲覧くださり、ありがとうございます。
簡単なアコーディオンの作成をしております。

下記のソースコードのように記述しておりますが、
slideUp と slideDown が上手く機能しておりません。

思考錯誤しましたが、原因が分からないため質問させていただきました。
お忙しい所大変恐縮ですが、ご回答いただけますと幸いです。
よろしくお願いいたします。

該当のソースコード

####HTML

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="stylesheet" href="./css/reset.css"> <link rel="stylesheet" href="./css/custom_reset.css"> <link rel="stylesheet" href="./css/style.css"> <script src="https://code.jquery.com/jquery-3.4.1.js" integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU=" crossorigin="anonymous"></script> </head> <body> <div> <p><span>+</span>メニュー</p> <ul> <li>ホーム</li> <li>ホーム</li> <li>ホーム</li> </ul> </div> <script src="./js/script.js"></script> </body> </html>

####CSS

div { cursor: pointer; display: block; } ul { display: none; } .open { display: block; }

JQuery

$(function () { $('div').click(function () { var $ul = $(this).find('ul'); if ($ul.hasClass('open')) { $ul.removeClass('open'); $ul.slideUp(); $('span').text('+'); } else { $ul.addClass('open'); $ul.slideDown(); $('span').text('-'); } }); });

補足情報(FW/ツールのバージョンなど)

  • VSCode
  • Windows 7

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

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

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

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

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

guest

回答1

0

ベストアンサー

動くサンプル:https://jsfiddle.net/7n3eyx2z/


メニューの開閉なら上記サンプル通り出来ているので、「上手く機能しておりません」が「スライドしない」という意味なら、スライドさせましょう。

js

1$(function () { 2 $('div').click(function () { 3 var $ul = $(this).find('ul'); 4 $ul.slideToggle(); 5 }); 6}); 7```**動くサンプル:**[https://jsfiddle.net/7n3eyx2z/1/](https://jsfiddle.net/7n3eyx2z/1/) 8 9--- 10 11【.slideToggle() | jQuery API Documentation】 12[https://api.jquery.com/slidetoggle/](https://api.jquery.com/slidetoggle/) 13 14--- 15 16**追記:** 17 18「スライドしない」を勘違いしていました。 19```js 20$(function () { 21 22 $('div').click(function () { 23 var $ul = $(this).find('ul'); 24 25 if ($ul.hasClass('open')) { 26 $ul.removeClass('open'); 27 $ul.slideUp(); 28 $('span').text('+'); 29 } else { 30 $ul.slideDown(); // 先にこちらをしないと、slideDownする前にopenしてしまう 31 $ul.addClass('open'); 32 $('span').text('-'); 33 } 34 }); 35}); 36```**動くサンプル:**[https://jsfiddle.net/fzaspcmj/](https://jsfiddle.net/fzaspcmj/)

投稿2019/12/24 18:02

編集2019/12/24 18:33
kei344

総合スコア69407

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

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

chankawa

2019/12/25 05:31

- kei344さん ご回答くださり、ありがとうございます。 読み込む順番が問題だったのですね。。。 無事解決いたしました。本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問