jQuery动画背景颜色滑动
jQuery animate Background Color slideDown
我正在尝试在元素悬停时将背景颜色动画化。
例如,假设我有一个div,当我悬停时,我想让它的背景变成红色,并向下滑动,在鼠标离开时淡出。
$('div.Item').hover(function () {
$(this).css('background-color', 'red').slideDown(400);
},
function () {
$(this).css('background-color', 'transparent').fadeOut(400);
});
有两个问题…SlideDown不工作了,红色就进来了…同样在鼠标离开时,元素完全消失(我假设是因为淡出作用于元素本身,而不是背景颜色的过渡)。
有任何教程或任何人可以帮助实现这一点,请?
您可以通过使其成为背景图像来实现相同的效果,也可以使用。animate将css和动画效果一起更改,而不是保持链接,以下代码将有所帮助:
$('#nav a')
.css( {backgroundPosition: "0 0"} )
.mouseover(function(){
$(this).stop().animate(
{backgroundPosition:"(0 250px)"},
{duration:500})
})
.mouseout(function(){
$(this).stop().animate(
{backgroundPosition:"(0 0)"},
{duration:500})
})
检查这个链接,也可以看到演示!
这是因为fadeOut是一个jQuery对象方法。它只适用于使用jQuery选择的DOM元素。最优雅的解决方案是使用CSS过渡。
下面是一个包含您的需求的伪css代码片段:
div.Item
{
background-color: #your-background-color;
-webkit-transition: all 0.3s ease-out; /* Chrome 1-25, Safari 3.2+ */
-moz-transition: all 0.3s ease-out; /* Firefox 4-15 */
-o-transition: all 0.3s ease-out; /* Opera 10.50–12.00 */
transition: all 0.3s ease-out; /* Chrome 26, Firefox 16+, IE 10+, Opera 12.10+ */
}
div.Item:hover
{
background-color: #your-new-background-color;
}
总是尽量少写代码。并且避免在css类名中使用大写字母。
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用jquery更改html中的背景颜色
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- JS幻灯片与CSS背景颜色变化
- DT数据表背景颜色为黑色,但仍有悬停和选择颜色
- Javascript通过列表项的函数和css来更改背景颜色
- Javascript没有从数组中选择背景颜色
- 使用圆中的数组更改背景颜色项目
- 如何用jquery动画改变背景颜色,就像一个过渡
- 使用jquery交换并保存背景颜色
- j查询如何设置/取消设置下拉菜单的背景颜色
- 使用angularjs根据时间更改背景颜色
- 设置Dojo量表的背景颜色
- 如何使用颜色选择器来更改背景中的文本
- charts js更改折线图轴的字体大小/颜色和背景线
- javascript样式的背景颜色在设置时闪烁.ASP.NET
- 在背景颜色背景图像之间分层文本
- sliicknav菜单,每个li都有特定的颜色背景
- 尝试根据当前背景更改背景颜色:背景颜色没有值
- jQuery中的颜色/背景颜色改变动画