PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.9.5
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.9.5
4.9.5 4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 All 203 releases
betterdocs / react-src / public / shortcodes / faq.js

faq.js in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 4.9.5, at react-src/public/shortcodes/faq.js

58 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 jQuery(document).ready(function ($) {
2 // FAQ Accordion
3 const $tabs = $(".betterdocs-faq-tab");
4 const $mobileTabs = $(".betterdocs-faq-list-wrapper .betterdocs-faq-tab");
5 const $contents = $(".betterdocs-faq-list-content");
6
7 $tabs.on("click", function () {
8 const termId = $(this).data("term-id");
9
10 // Remove active class from all tabs and hide all contents
11 $tabs.removeClass("active");
12 $contents.hide().removeClass("active");
13
14 // Reset all icons to default state
15 $(".betterdocs-faq-iconplus").show();
16 $(".betterdocs-faq-iconminus").hide();
17
18 // Add active class to the clicked tab and show the corresponding content
19 $(this).addClass("active");
20 $contents.filter(`[data-term-id="${termId}"]`).show().addClass("active");
21
22 // Toggle icons for the active tab
23 $(this).find(".betterdocs-faq-iconplus").hide();
24 $(this).find(".betterdocs-faq-iconminus").show();
25 });
26
27 // Trigger click on the first tab to show the first content by default
28 if ($tabs.length > 0) {
29 $tabs.first().trigger("click").addClass("active");
30
31 const $mobileFirstTab = $mobileTabs.first();
32 $mobileFirstTab.addClass("active");
33 $mobileFirstTab.find(".betterdocs-faq-iconplus").hide();
34 $mobileFirstTab.find(".betterdocs-faq-iconminus").show();
35 }
36
37 jQuery(document).on("click", '.betterdocs-faq-post', function (e) {
38 var current_node = jQuery(this);
39 var active_list = jQuery(".betterdocs-faq-group.active");
40
41 if (!current_node.parent().hasClass("active")) {
42 current_node.parent().addClass("active");
43 current_node.children("svg").toggle();
44 current_node.next().slideDown();
45 } else {
46 jQuery(jQuery(e?.currentTarget).parent()).removeClass("active");
47 jQuery(jQuery(e?.currentTarget).parent())
48 .children(".betterdocs-faq-post")
49 .children("svg")
50 .toggle();
51 jQuery(jQuery(e?.currentTarget).parent())
52 .children(".betterdocs-faq-main-content")
53 .slideUp();
54 }
55 });
56
57 });
58