我在 CSS 中有一个像这样工作的 div:SomeDiv 有另一个类,有时是 SomeRedDiv,有时是 SomeBlueDiv。当我在 SomeDiv 上使用鼠标时,我希望它添加 SomeYellowDiv 类。但是当我鼠标离开时,我希望每个 div 都返回到其初始状态,SomeRedDiv 或 SomeBlueDiv。这就是我所拥有的:
<div class="SomeDiv SomeRedDiv"></div>
<div class="SomeDiv SomeBlueDiv"></div>
$('.SomeDiv').mouseenter(function () {
// this makes all SomeDivs turn yellow
$(this).removeClass().addClass('SomeDiv SomeYellowDiv');
});
$('.SomeDiv').mouseleave(function () {
// here I want to use closure so that the function remembers
// which class it initially was; SomeBlueDiv or SomeRedDiv
$('this).removeClass().addClass('SomeDiv'); // add the initial color class
});
我可以用全局来做到这一点,但我想看看闭包是否会让我的代码更好;我知道闭包的概念,它允许函数记住它们的状态,但我不知道如何让它在这里工作。
感谢您的建议。