我想要做的范围:在构建时通过yaml文件提取各种数量的常见问题解答,默认情况下只显示问题,然后单击相应的答案将显示。
我已经想出如何为每个问题和每个答案添加一个唯一的类,但我无法弄清楚如何在单击question1时切换answer1。
我感谢任何帮助!我仍然在学习javascript / jquery并且容易迷路,所以如果你能帮助解释或指出我缺少的文档,我将不胜感激!
https://jsfiddle.net/texobyte/jns7v9ox/
$(".faqQuestion").each(function (i) {
$(this).addClass("question" + (i + 1));
});
$(".faqAnswer").each(function (i) {
$(this).addClass("answer" + (i + 1));
});
$("#toggle-faq h5").hide();
$("#toggle-faq").click(function () {
$("#toggle-faq h5").slideToggle("slow", function () {});
});
答案 0 :(得分:0)
我已经为你做过小提琴,并做了一些修改,使它工作。这是LINK
我已将(gdb) set sysroot /no/such/file
(gdb) set solib-search-path /tmp:/usr/lib:/lib
(gdb) core /tmp/core
替换为id="toggle-faq"
;我们不应该重复ids:
class="toggle-faq"
也替换了这段代码:
<div class="toggle-faq">
使用更好且更有效的代码:
$("#toggle-faq h5").hide();
$("#toggle-faq").click(function () {
$("#toggle-faq h5").slideToggle("slow", function () {});
});
如果您有任何疑问,请告诉我。祝你好运,玩得开心!
答案 1 :(得分:0)
你也可以尝试这个(在将id“toggle-faq”更改为类之后,正如另一个答案所说):
$(".toggle-faq h5").hide();
$(".toggle-faq").on('click', function () {
if ($(this).hasClass("active")) {
$(this).children("h5").slideToggle();
$(this).removeClass("active");
return;
}
$(".active").children("h5").slideToggle();
$(".active").removeClass("active");
$(this).addClass("active");
$(this).children("h5").slideToggle();
});
“this”意味着它只会切换已被点击的.toggle-faq,而不是所有这些。