【发布时间】:2018-05-05 10:01:26
【问题描述】:
所以我必须实现一个 Jquery 函数,其中每个 li 元素都在执行 :hover 伪类(它只会改变背景颜色)。因此,如果我将鼠标悬停到第 4 个元素,所有之前的 li 元素(第 1、第 2、第 3)应该具有来自 :hover 伪类的更改的背景颜色!但是,如果我再次用鼠标向上移动,:hover 效果应该消失(再次正常背景颜色)直到我的鼠标所在的位置(如果它在第二个元素上,那么现在只有第一个和第二个有悬停效果)......我完全不知道如何创建这样的方法......我做了类似的事情
$('ul li').on('mouseenter') {
$(this).addClass('hover'); //alternatively $(this).css('background-color', 'grey');
}
但它不会删除任何:hover 效果,并且它使失败成为可能,只有第一个和第五个li 元素具有:hover 效果,但两者之间的所有内容都保持正常,我不想要.. . 你能帮帮我吗?
【问题讨论】:
-
试试
.toggleClass('hover'); -
如果我希望它们是随机的,这可能会起作用......但只有例如不应该允许第一个和最后一个 li 元素具有悬停类...必须有某种 if 条件,我可以检查该 li 元素是否比先前切换的 li 元素在列表中更靠后.. 然后:将它们全部悬停到那个点...
标签: javascript jquery css