素のjavascriptでアコーディオンを作るにはどうすればいいでしょうか?
jQueryは使えません
簡単な雛形をくだされば助かります
今のところ
document.getElementById("").style.display = "blcok";
でやろうとしてますができません
クリックするとdlごと消えます
aタグが必要なんでしょうか?
よろしくおねがいします
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/07/05 01:17
2018/07/05 01:42 編集
2018/07/05 01:47
退会済みユーザー
2018/07/05 02:14
2018/07/05 02:20
2018/07/05 02:21 編集
回答6件
0
とりあえず
CSS
1[name=m]{display:none;} 2[name=m]:not(:checked)+ul{display:none;}
HTML
1<form> 2<ul id="menu"> 3 <li><label for="m1">1</label><input type="radio" name="m" id="m1"> 4 <ul> 5 <li>1-1</li> 6 <li>1-2</li> 7 <li>1-3</li> 8 </ul> 9 </li> 10 <li><label for="m2">2</label><input type="radio" name="m" id="m2"> 11 <ul> 12 <li>2-1</li> 13 <li>2-2</li> 14 <li>2-3</li> 15 </ul> 16 </li> 17 <li><label for="m3">3</label><input type="radio" name="m" id="m3"> 18 <ul> 19 <li>3-1</li> 20 <li>3-2</li> 21 <li>3-3</li> 22 </ul> 23 </li> 24</ul> 25</form>
投稿2018/07/05 02:29
総合スコア114839
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/05 02:32
2018/07/05 02:39
2018/07/05 02:42
2018/07/05 02:44
2018/07/05 04:07 編集
0
雛型
簡単な雛形をくだされば助かります
昔、作ったライブラリならあります。
http://vird2002.s8.xrea.com/test/accordion.html
attachEvent
のラップ処理、forEach
のPolyfillから当時の考えが見えますね。
aタグが必要なんでしょうか?
:target
疑似クラスを利用するのなら、そうですね。
今修行させられてます。自分としてはうまくいく予定で
他人のサンプルコードを提出するのはやめた方が無難です。
ぐぐればすぐにバレますし、コードの理解度チェックされて答えられなければ終わりです。
修業の為なら
いやいや他人のコードを提出なんて考えていませんよ。
「雛型」を希望したところから、他人のコードで提出することを連想しました。
少しコードを書き換えるだけで作れる出来合いのものを求める他の意図を、私は説明できません。
少なくとも、私は修業の為ならコードよりも解法を求めます。
コートを貰ってしまうと、自分の発想でアルゴリズムを考える機会を失います。
そして、何より課題の提出なら、今までに習った内容の復習が意義なので、見知らぬ他人の書いたコードを出せば「今までに習った内容」が含まれないかもしれません。
そうなれば、出題者に「何を聞いてたの?このコードはどこから出てきたの?」と質問を返されることは容易に想像できます。
正しいアプローチは次のようになると思います。
- 今までに習った内容を踏まえてコードを書いてみる
- 分からなければ、コードを基礎的な要素別に分解して、ミニマムコードで検証する
- それでも、分からなければ、ミニマムコードを元に質問する
ここで重要なのは、「習った範囲」でコードを書くことです。
基本的には、背景を全て知っている師に答えを求めるべきだと私は思います。
Re: anAnonymous さん
投稿2018/07/05 03:59
編集2018/07/05 10:35総合スコア18164
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/05 04:10
退会済みユーザー
2018/07/05 05:09
2018/07/05 05:14 編集
2018/07/05 11:03
退会済みユーザー
2018/07/06 03:56
退会済みユーザー
2018/07/06 03:58 編集
2018/07/06 04:02
2018/07/06 11:14
2018/07/07 09:33
2018/07/07 09:46 編集
0
こういう質問って回答しないほうが teratail 的にいいんでしょうか。
投稿2018/07/05 02:12
総合スコア832
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/05 02:19
2018/07/05 02:36
退会済みユーザー
2018/07/07 09:18
2018/07/07 09:36
0
投稿2018/07/05 02:17
総合スコア5572
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
回答ではないです。今でているものに対しての指摘です。
js
1 2document.getElementById("").style.display = "blcok";
- IDの指定何もしていない
→HTMLでも提示があればまだまともな回答の余地はあるんですが
- blcokなんて指定は存在しない。 CSS:display blockです。スペルミスです。
aタグが必要なんでしょうか?
それは分かりません。如何様にも組めます。
そもそも逆に聞きたい。
質問者さんはjQuery使えば組めるんですか?
この短い質問内容だけで全て判断できるわけではないですが、
jQuery使ってもとても組めるようには思えません(失礼は承知です)
例で結構です。
jQueryで組んだコードを質問に追記してみてください。
jQueryはJavaScriptのライブラリです。内部的にはJavaScriptがガンガンに動いています。
もしjQueryで組むことができるのでしたら、それぞれ置き換えれば良いだけですよね?
なので、「勉強のためにjQueryではなくJavaScriptで組む」という練習されているのでしたら
まずjQueryで組んで出来た物に対して少しずつ変換していく というやり方が最も理にかなっています。
逆も然りです。JavaScriptで組めればjQueryでも組めます。
投稿2018/07/05 03:05
総合スコア80850
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/07/06 04:03
2018/07/06 04:16
退会済みユーザー
2018/07/06 09:24
2018/07/06 10:04
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。