在手风琴上切换箭头

时间:2014-07-10 12:28:34

标签: jquery jquery-ui-accordion

首先,我必须说我并不熟悉jQuery,所以请耐心等待。 现在我的问题:我为我的网站制作了一个手风琴,它的右侧有箭头图像。现在,当我坚持打开和关闭相同的标签时,箭头正好切换。但是当我打开一个标签并单击另一个标签而不关闭第一个标签时,尽管其标签已关闭,但箭头仍然朝下。任何人都可以帮助我吗?

这是我的代码:

jQuery(document).ready(function() {
    jQuery(".toggleAccordion").click(function(event){
        event.preventDefault();
        if(jQuery(this).closest('.accordion').find('.subcategory-items').is(':visible') == false) {
            jQuery(".subcategories .subcategory-items").slideUp(600);
        }
        if(jQuery(this).closest('.accordion').find('.subcategory-arrow-closed').css('display') == 'none'){
            jQuery(this).closest('.accordion').find('.subcategory-arrow-closed').css('display', 'inline');
            jQuery(this).closest('.accordion').find('.subcategory-arrow-open').css("display", "none");
        }else{
            jQuery(this).closest('.accordion').find('.subcategory-arrow-closed').css('display', 'none');
            jQuery(this).closest('.accordion').find('.subcategory-arrow-open').css("display", "inline");
        }
        jQuery(this).closest('.accordion').find('.subcategory-items').slideToggle(600);
    });
});

1 个答案:

答案 0 :(得分:0)

您只需添加到关闭所有打开元素的代码:

(...)
if(jQuery(this).closest('.accordion').find('.subcategory-items').is(':visible') == false) {
    jQuery(".subcategories .subcategory-items").slideUp(600);
    // Now remove open arrows.
    jQuery('.subcategory-arrow-closed').css('display', 'inline');
    jQuery('.subcategory-arrow-open').css('display', 'none');
}
(...)