用于非活动状态的Jquery手风琴调整

用于非活动状态的Jquery手风琴调整,jquery,accordion,jquery-ui-accordion,Jquery,Accordion,Jquery Ui Accordion,嗨,我有这个简单的手风琴设置改变背景颜色时,选择和返回白色时,取消选择。。。它的工作非常好,除了当我点击活动关闭手风琴和背景不会改变回来。。。任何帮助都将不胜感激 <script type="text/javascript"> $j(".accordion > dt").click(function(){ if(false == $j(this).next().is(':visible')) { $j('.accordion dd').slideUp(3

嗨,我有这个简单的手风琴设置改变背景颜色时,选择和返回白色时,取消选择。。。它的工作非常好,除了当我点击活动关闭手风琴和背景不会改变回来。。。任何帮助都将不胜感激

<script type="text/javascript">
$j(".accordion > dt").click(function(){
    if(false == $j(this).next().is(':visible')) {
        $j('.accordion dd').slideUp(300);
        $j('.accordion dt').css('backgroundColor','#ffffff');
    }
    $j(this).next().slideToggle(300);
    $j(this).css('backgroundColor','#EE178C');
});
</script>

$j(“.accordion>dt”)。单击(函数(){
if(false==$j(this).next().is(':visible')){
$j(“.手风琴dd”).slideUp(300);
$j('.accordiondt').css('backgroundColor','ffffff');
}
$j(this.next().slideToggle(300);
$j(this).css('backgroundColor','EE178C');
});

我创建的这个jquery插件应该可以做到:

    (function ( $ ) {
     var backgroundColorToggleStatus = null;
    $.fn.backgroundColorToggle = function(one,two) {
        return this.each(function(){
                if (backgroundColorToggleStatus == one)
                    backgroundColorToggleStatus = two;
                else if (backgroundColorToggleStatus == two)
                    backgroundColorToggleStatus = one;
            else{
                    backgroundColorToggleStatus = one;
            }
            $(this).css("backgroundColor",backgroundColorToggleStatus);
        });
    };

}( jQuery ));

只需调用
.backgroundColorToggle(“#fff”,“#000”)喜欢。

我很困惑,为什么你要用多个jQuery操作来完成这一切,而Accordion可以为你处理所有这些。感谢你的尝试,但问题仍然存在,即如果你点击激活Accordion,它很好,但如果你再次点击关闭它,它会保持粉红色-请参阅此处:@user2595800应该可以。简单的jquery小插件。