javascript - 如何向 Accordion 添加 + 和 -

标签 javascript html jquery css

我已经实现了一个基本的 Accordion ,我需要向 Accordion 添加+和-。

如果 Accordion 打开,那么“-”应该变成“+”

这是尝试过的:

JS:

$('.info').find('.accordion-toggle').click(function () {
    //Expand or collapse this panel
    $(this).next().slideToggle('fast');
    //Hide the other panels
    $(".accordion-content").not($(this).next()).slideUp('fast');
}); 

Demo Link

最佳答案

您可以使用 css 伪元素,如下所示:

CSS:

.accordion-toggle::after {
  content:"+";
}
.accordion-toggle.open::after {
  content:"-";
}

JS:

$('.info').find('.accordion-toggle').click(function () {
  //Expand or collapse this panel
  $(this).toggleClass("open").next().slideToggle('fast');

  //Hide the other panels
  $(".accordion-toggle").not($(this)).removeClass("open");
  $(".accordion-content").not($(this).next()).slideUp('fast');
});

Demo

关于javascript - 如何向 Accordion 添加 + 和 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25657862/

相关文章:

jquery - css - 在内容上方 float 页眉和页脚,使用 jquery 自动调整背景大小

jQuery 按钮集不反射(reflect)更新

可以悬停并单击的 Javascript/CSS 工具提示

javascript - Youtube iframe API 调用 playVideo/pauseVideo 在 IE8 中不起作用

javascript - 客户端页面调用/抓取?

javascript - 合并两个匹配一个id的数组

jquery - 修复了 CSS 位置在 Chrome 中不起作用的问题

html - SCRIPT、STYLE 和 LINK 元素的类型属性是否仍然需要?

html - Angular 2 在动态生成的 "list"中向新元素添加高亮显示

jquery - 将ajax响应设置为全局变量