Html 动态更改颜色的菜单

Html 动态更改颜色的菜单,html,css,menu,colors,hover,Html,Css,Menu,Colors,Hover,我的页面上有一个菜单,它有一组子菜单,将显示在h-over上 我计划让菜单在每次悬停时动态改变颜色 我喜欢添加一组颜色 比如说 #cccccc; #999999; #474747; #4c4c4c; 这些颜色必须在我尝试使用jquery时动态更改 像这样: $('menu').css('backgroundImage', 'url(something.gif)'); <ul class="nav"> <li onmouseover="this.parentNode

我的页面上有一个菜单,它有一组子菜单,将显示在h-over上

我计划让菜单在每次悬停时动态改变颜色

我喜欢添加一组颜色

比如说

#cccccc;

#999999;

#474747;

#4c4c4c;
这些颜色必须在我尝试使用jquery时动态更改 像这样:

$('menu').css('backgroundImage', 'url(something.gif)');
<ul class="nav">
  <li onmouseover="this.parentNode.className = 'hoveredpurple';" onmouseout="this.parentNode.className = '';"><span>item1</span>
  </li>
  <li onmouseover="this.parentNode.className = 'hoveredred';" onmouseout="this.parentNode.className = '';"><span>item2</span>
  </li>
</ul>
但我的计划是只使用css。有什么想法吗

i=0;
function hover()
{
var color = new Array("cccccc","999999","474747","4c4c4c");
$('#IDofMenu').css('backgroundColor',color[i]);
i==3?i=0:i++;
}
尽管使用图像,尝试使用

$('menu').css('background', '#cccccc');


$('menu:hover").css('background', '#999999', '#474747', '#4c4c4c');
这应该是一个“仅css”解决方案。

您可以使用此解决方案

$('navigation').css('background','#cccc')

$('navigation:hover').css('background','999999','474747','4c


您可以使用一些javascript,比如说您的菜单如下所示:

$('menu').css('backgroundImage', 'url(something.gif)');
<ul class="nav">
  <li onmouseover="this.parentNode.className = 'hoveredpurple';" onmouseout="this.parentNode.className = '';"><span>item1</span>
  </li>
  <li onmouseover="this.parentNode.className = 'hoveredred';" onmouseout="this.parentNode.className = '';"><span>item2</span>
  </li>
</ul>
下面是一个JSFIDLE:

在css4中,这在纯css中是可能的,您可以使用父选择器:
如果你愿意,你也可以加入一些css3

.menu {
    background: pink;
    -webkit-transition: background 1s;
    -moz-transition   : background 1s;
    -o-transition     : background 1s;
    transition        : background 1s;
}

.menu:hover {
    background: yellow;
    -webkit-transition: background 1s;
    -moz-transition   : background 1s;
    -o-transition     : background 1s;
    transition        : background 1s;
}
.menu:active {
    background: green;
    -webkit-transition: background 1s;
    -moz-transition   : background 1s;
    -o-transition     : background 1s;
    transition        : background 1s;
}

是否有任何方法可以使用纯css实现这一点?是否希望每个悬停事件都更改为新颜色,并在颜色之间循环?
.menu {
    background: pink;
    -webkit-transition: background 1s;
    -moz-transition   : background 1s;
    -o-transition     : background 1s;
    transition        : background 1s;
}

.menu:hover {
    background: yellow;
    -webkit-transition: background 1s;
    -moz-transition   : background 1s;
    -o-transition     : background 1s;
    transition        : background 1s;
}
.menu:active {
    background: green;
    -webkit-transition: background 1s;
    -moz-transition   : background 1s;
    -o-transition     : background 1s;
    transition        : background 1s;
}