【问题标题】:jQuery dropdown menu CSS manipulationjQuery 下拉菜单 CSS 操作
【发布时间】:2016-11-29 09:17:58
【问题描述】:

我正在使用来自http://javascript-array.com/scripts/jquery_simple_drop_down_menu/ 的 jQuery 简单下拉菜单插件

在他们的示例中,当您悬停菜单项时,会出现一个红色下拉框。当下拉菜单可见时,我不知道如何使主选项卡也变成红色。当您也将鼠标悬停在下拉菜单上并通过超时恢复正常时,它应该保持红色。该代码使用timeout 函数,因此我必须以某种方式将其实现。

var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function()
{  $('#jsddm > li').bind('mouseover', jsddm_open)
   $('#jsddm > li').bind('mouseout',  jsddm_timer)});

document.onclick = jsddm_close;

我尝试创建一个函数来更改背景 CSS 并将其添加到 mouseover 和 mouseout,但它要么更改所有菜单选项卡的背景,要么没有任何反应。有谁知道一个好的解决方案?

【问题讨论】:

  • 你想把红色标签变成蓝色吗?
  • 不,我想让标签像下拉菜单一样悬停在红色。然后当下拉菜单消失时,我想再次将其变为蓝色。

标签: javascript jquery css


【解决方案1】:

用这个更新你的样式表:

#jsddm li a:hover
    { background: #24313C }

    #jsddm li:hover > a
    { background: #24313C; display:block }

查看演示:

http://jsfiddle.net/rathoreahsan/evcL2/2/

【讨论】:

  • 谢谢,太好了!请注意我在帖子中提到的timeout js 函数。普通的 css 方法有效,但下拉菜单仍然可见,因为它使用 timeout 所以我必须在 jquery 中实现 css 更改
  • 太棒了! +1 使用 jsfiddle。
【解决方案2】:

只需将这些行添加到 css

#jsddm li a:hover
{   
background: #8EA344
}

在背景中添加任何你想要的颜色。

【讨论】:

  • 谢谢,但当您将鼠标悬停在下拉菜单上时,它也应该保持该颜色。出于这个原因,我正在尝试修改 jquery。
  • 看看我给你的答案。更新当前样式表中的样式。谢谢!
猜你喜欢
  • 2011-11-16
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 2019-05-17
  • 2021-04-22
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
相关资源
最近更新 更多