【发布时间】:2019-03-18 04:31:03
【问题描述】:
我需要帮助才能像手风琴一样打开下面的内容。我的风格不行。
<main>
<h1>Frequently Asked Questions</h1>
<div class="topic">
<div class="open">
<h2 class="question">1. How can i delete my complaint/comment?</h2>
<span class="faq-t"></span>
</div>
<p class="answer">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
dolor n reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
这是我用来打开上面代码的。
$(".open").click(function() {
var container = $(this).parents(".topic");
var answer = container.find(".answer");
var trigger = container.find(".faq-t");
answer.slideToggle(200);
if (trigger.hasClass("faq-o")) {
trigger.removeClass("faq-o");
} else {
trigger.addClass("faq-o");
}
if (container.hasClass("expanded")) {
container.removeClass("expanded");
} else {
container.addClass("expanded");
}
});
【问题讨论】:
-
具体似乎出了什么问题?您可能会发现这些信息:How To (Safely) Use A jQuery Plugin With Vue.js
-
看起来你根本没有使用 Vue。特别是,您使用 jQuery 来处理 click 事件,以及其中的大量 DOM 操作。查看其他 cmets 中的一些链接。
-
@RoyJ 上面的代码工作正常你可以看到我的回答,我认为他在其他地方有问题
-
@boussadjrabrahim 单独在 jQuery 下工作的代码在引入 Vue 时通常无法工作。问题询问是否将两者结合使用。上面的代码没有同时使用它们。您的示例也没有使用 Vue 来控制 DOM。