jquery - 获取当前背景颜色并在悬停后重置它?

标签 jquery css ajax

使用 .hover 更改菜单的背景。菜单中的所有背景颜色都不相同,因此当用户将鼠标悬停时,我希望背景颜色恢复为初始颜色。 (我希望它读取当前背景,然后在悬停后重置它。)

下面是我拥有的,但它不起作用。我不知道如何让悬停脚本的第二部分接受背景颜色的变量。

$('#dmenu ul li a').hover(

  function () {
var bgOn = $(this).css('background-color');
    $(this).css('background-color', '#efefef');
}, 
  function () {
    $(this).css('background-color', (bgOn);
}
);

不是 JQuery 的高手,所以我相信它很简单。谢谢

最佳答案

试试这个:

var bgOn;
$('#dmenu ul li a').hover(

  function () {
    bgOn = $(this).css('background-color');
    $(this).css('background-color', '#efefef');
}, 
  function () {
    $(this).css('background-color', bgOn);
}
);

在您的示例中 bgOn 将超出范围。

关于jquery - 获取当前背景颜色并在悬停后重置它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8499762/

相关文章:

JQuery:检查前一个 sibling 是否是第一个 child

javascript - Ajax 成功数据返回完整的 HTML 页面

javascript - 从 HTML 字符串中删除重复元素

javascript - 如何使用 uploadcare 上传多个文件

javascript - 如何使 Web 表单在下拉选择中自动提交

javascript - 在带滚动条的 div 内滚动侧边栏 - $(window).on ('scroll' , function()?

javascript - 用于显示 html 内容的 WebView 与 TextView

javascript - 使用 JavaScript 动态应用 CSS

javascript - 表单发送没有改变任何东西的值

javascript - 当子弹出窗口打开时禁用父窗口