javascript - 我如何为此应用淡入淡出效果?

标签 javascript jquery css

我有一个导航菜单,并且在发生悬停事件时使用悬停元素来更改图像。我正在使用以下 CSS

#navigation li.contact a:hover {
    margin-left:1px;
    background: url('../img/hover.jpg') no-repeat;
    float:left;
    width:147px;
    height:109px;
}

我的导航菜单由使用 css 的 repeat-x 属性拉伸(stretch)的图案组成。上面的代码工作得很好。现在我想对我用于悬停的图像应用淡入淡出效果。我该怎么做?

最佳答案

您不能对背景图像进行淡入淡出。

可能的解决方案是为 li 标签使用绝对定位的 div。即:

<ul id="navigation">
   <li class="contact">
      <div class="background"></div>
      <a href="">some menu</a>
   </li>
</ul>

CSS 应该是这样的:

#navigation li{position: relative;}
#navigation .background{position: absolute; top:0px; left: 0px; opacity: 0;}

这样你就可以说:

$('#navigation').find('li').hover(function(){
   $(this).find('.background').fadein();
}, function(){
   $(this).find('.background').fadeOut();
})

如果你想以某种方式绝对定位你的 li 元素,问题就来了。我还没有测试过,但这样应该可以。

关于javascript - 我如何为此应用淡入淡出效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3794102/

相关文章:

javascript - 事件多次触发

javascript - 验证 jQuery 中的复选框组

javascript - 页脚下的空白

javascript - Highcharts JS 在 IE 7 中不出现

javascript - 如何使用 javascript 读取本地文本文件?

javascript - 如何检索先前属性的名称属性

jquery - 按钮图像 - 图像堆栈在原始 HTML 按钮之上

javascript - 为什么我的 jest 测试在本地运行,而不是在 Travis 上运行?

javascript - Mysql:sequelize 查询返回空结果

css - 关于 css 选择器的最佳实践?