【问题标题】:Dimming page by hovering over navigation menu通过将鼠标悬停在导航菜单上来调暗页面
【发布时间】:2018-08-14 17:37:59
【问题描述】:

当我将鼠标悬停在菜单上时,我试图使我的页面变暗。我正在使用 ubermenu(超级菜单)作为导航菜单,并且还在 Wordpress 上使用 X 主题。

我添加了CSS class 来为页面添加深色背景。此外,我添加了一个piece of code 以在将鼠标悬停在大型菜单的其中一个选项卡上时使页面变暗(在此示例中,#menu-item-443 是一个选项卡的 ID)。

当我尝试测试代码时,它根本不起作用。我尝试将它添加到 Cornerstone 可视化编辑器,它在编辑器中工作,但在实际页面上无法工作。

代码不适用于页面的原因可能是什么?

任何帮助将不胜感激!

使页面变暗的 CSS 代码:

.dim{
    background: rgba(0, 0, 0, 0.5);
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 5;
    display: none;

}

调暗页面的代码:

$('#menu-item-443').hover(function(){
    $('.dim').fadeTo(200, 1);
}, function(){
    $('.dim').fadeTo(200, 0, function(){
        $(this).hide();
    });
});

【问题讨论】:

  • 您为 .dim 类赋予了哪个 html 元素?你是怎么做到的?是否为网站加载了 Jquery?
  • @Ingo86 我将此添加到我的functions.php中:
  • 您是否使用浏览器的检查器来检查发生了什么以及是否实际添加了具有“dim”类的 div 元素?

标签: javascript css wordpress drop-down-menu cornerstone


【解决方案1】:

fadeTo 的第二个属性是不透明度,但您在元素本身上使用 display。您将需要使用 fadeIn/fadeOut,因为它们与 display 属性一起使用。所以它应该看起来像这样......

$('#menu-item-443').hover(function(e){
    e.preventDefault();
    e.stopPropagation();
    $('.dim').fadeIn(200);
}, function(){
    $('.dim').fadeOut(200, function(){
        $(this).hide();
    });
});

【讨论】:

  • 另外值得注意的是,任何具有 display: none 的元素都不能通过上述功能和类似功能以外的任何方式进行转换,转换不会在显示切换的元素上触发。
  • 感谢您的回答!代码仍然只是通过基石工作,而不是在实际页面上。知道为什么会这样吗?
  • 是否有可能将另一个悬停事件绑定到同一个元素?如果是这种情况,它可能会发生冲突,并且只有那个动作才会触发。我更新了上面的代码来优先考虑这个悬停功能。
猜你喜欢
  • 1970-01-01
  • 2018-09-24
  • 2018-08-19
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
  • 2023-03-31
  • 1970-01-01
  • 2015-10-07
相关资源
最近更新 更多