1

我有一个 jQuery 可排序手风琴。当我将鼠标悬停在每个手风琴标题上时,它们都会适当地切换到突出显示/选定的颜色状态。当我单击标题以打开手风琴的该部分然后再次单击以关闭手风琴的该部分时,突出显示/选定的颜色状态仍然存在。

所以如果手风琴有 10 个部分,然后我打开和关闭其中的 3 个,这 3 个的颜色与手风琴的其余部分不同。这提供了一个糟糕的用户界面。任何人都知道为什么会发生这种情况以及如何解决它?

编辑:

很抱歉没有提供一个开始的例子,我在 NDA 下工作,所以我不能直接提供它们。我整理了一个可分享的例子来说明正在发生的事情。

你可以在这里看到它发生:http: //inadaydevelopment.com/StackOverflow/AccordionStateProblem/jqueryexample.html

如果您将鼠标悬停在它们上方,它们会变为橙色(正确)。如果您单击一个将其打开,它仍为橙色(正确)。如果您关闭它并且不再悬停,它仍然保持橙色而不是回到蓝色(错误)。

4

1 回答 1

2

以下将清除导致问题的“ui-state-focus”类:

$('.ui-accordion .group > h3').mouseleave(function(){
    $(this).removeClass('ui-state-focus')
})

这是在浏览器控制台中针对演示测试的。

编辑:选择器可以简单地缩小到:

$('.ui-accordion-header')
于 2012-06-23T21:35:13.890 回答