c# - 向 Accordion 添加箭头

标签 c# asp.net jquery css

最佳答案

我已经猜测了 Accordion 的工作原理——这里是一些应该可以工作的代码

jQuery:

function checkVisibility() {
  $('.accordionHeader.expanded').removeClass('expanded');
  $('.toggler .accordionContent:visible').each(function(){
    $(this).prev('.accordionHeader').addClass('expanded');
  });
}

$(document).ready(function(){
  checkVisibility();
  $('.toggler .accordionHeader').not('.expanded').click(checkVisibility());
});

CSS:

.toggler .accordionHeader {
  background:url(* add a path to an arrow here *) no-repeat left center transparent;
  }

.toggler .expanded {
      background-image:url(* add a path to alternate arrow here *);
    }

编辑 - 替代

我已经修改了您提供的链接中的脚本。从提供的链接(未经测试)使用相同的 css - 不是我在上面输入的内容。在我看来,以前的选择更好......

function checkVisibility(){
  $('.accordionHeader.expanded').removeClass('expanded');
  $('.accordionHeader > span').text('▶');
  $('.toggler .accordionContent:visible').each(function(){
    $(this).prev('.accordionHeader').addClass('expanded').find('span').text('▼');
  });
}

$(document).ready(function(){
    $('.accordionHeader').each(function(){
        $('<span></span>').appendTo($(this));
    });
  $('.toggler .accordionHeader').not('.expanded').click(checkVisibility());
});

关于c# - 向 Accordion 添加箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4459941/

相关文章:

C# - 通过 Process.Start 使用计划任务

c# - 独立开发人员 (.NET) 的最佳持续集成设置

javascript - Jquery ajax 调用不适用于 android

c# - 使用angularjs将多个对象发送到webapi

jQuery 在大表性能上显示/隐藏列

javascript - JavaScript 中对象变空

c# - 当属性不为空时使用 FluentValidation 检查电子邮件有效性

c# - 运算符 && 的问题

c# - MongoDB 添加数组到 BsonDocument

asp.net - 不改变代码的情况下改进或释放内存空间的建议