【发布时间】:2017-06-22 01:10:02
【问题描述】:
患有脑力不足,似乎无法弄清楚以下问题:
$('#accordion .title h4').click(function(){
if($('#accordion .title').attr('aria-selected')==='false') {
$('#accordion .title').attr('aria-selected' , 'true');
$('#accordion .title').attr('aria-expanded' , 'true');
$('#accordion .accordion-content').attr('aria-hidden' , 'false');
}
else{
$('#accordion .title').attr('aria-selected' , 'false');
$('#accordion .title').attr('aria-expanded' , 'false');
$('#accordion .accordion-content').attr('aria-hidden' , 'true');
}
$(this).parent().next().slideToggle(400).siblings('.accordion-
content').slideUp(400);
return false;
});
这里是完整的小提琴: https://jsfiddle.net/77zqme17/
我正在尝试切换此 jQuery 手风琴的 WAI-ARIA 属性,但由于它是一个允许多个打开面板的手风琴,如果您单击两次相同的选择,我的 click 事件将正确触发(注 1 ),但如果您单击同级并仍然打开原始选择,则不会(注意 2)。
注意 1:点击 Mission 两次正确地将 ARIA 属性更改为 aria-selected="true" aria-expanded"true" 和 aria-hidden="false"
注意 2: 在 Mission 仍处于打开状态时单击 Vision 会正确更改 Vision 的属性,但会将 Mission 的类切换回 aria-selected="false" aria-expanded"false" 和 aria-hidden ="true" 即使它仍然打开。
我尝试了一些魔法,但是没有好的结果,所以这是我的原始脚本 sn-p。关于如何让这该死的东西正常工作有什么建议吗?
谢谢!
【问题讨论】: