jQueryを使用して、質問のリンクをクリックすると回答がうまく表示される小さなFAQがありますslideToggle()
。
回答はデフォルトで非表示になっています。表示するには、回答をクリックする必要があります。ページが読み込まれるときに最初のスライドを入れたくありません。
問題は、JavaScriptを持っていない人は答えを表示できないことです。これらの人々がそれらを見ることができるようにするには、それらを直接見る必要があります。
ページが読み込まれたときに回答をスライドさせても可能ですが、解決策はエレガントではありません。どうすれば自分のソリューションを維持できるか考えていますか?
ここでjsFiddleを作成しました:http://jsfiddle.net/s5HNd/3/
私のコード:
HTML:
<div>
<ul class="faqquestions">
<li>
<span class="faqlink">First Question</span>
<div class="faqreponse">First answer</div>
</li>
<li>
<span class="faqlink">Second question</span>
<div class="faqreponse">Second answer</div>
</li>
</ul>
</div>
CSS:
ul.faqquestions li { cursor: pointer; }
div.faqreponse { overflow: hidden; }
JavaScript:
$(document).ready(function () {
'use strict';
$("ul.faqquestions li").each(function () {
var tis = $(this), state = false, answer =
tis.children(".faqreponse").hide().css('height', 'auto').slideUp();
$(this).children(".faqlink").click(function () {
state = !state;
answer.slideToggle(state);
});
});
});