使用color plugin在悬停时为背景颜色设置动画。
$(function() {
$('.listing-2 li a').mouseover(function() {
$(this).animate({
backgroundColor: "#0e7796"
}, 'fast');
});
$('.listing-2 li a').mouseout(function() {
$(this).animate({
backgroundColor: "#d6f2c5"
}, 'fast');
});
});
如何为边框颜色做同样的事情?
答案 0 :(得分:36)
在谷歌中找到
$('.listing-2 li a').mouseover(function() {
$(this).animate({ borderTopColor: "#0e7796" }, 'fast');
});
$('.listing-2 li a').mouseout(function() {
$(this).animate({ borderTopColor: "#fff" }, 'fast');
});
它必须是“borderTopColor”(或左,右,下)而不是“borderColor”。
答案 1 :(得分:14)
为整个边框使用的颜色设置动画:
$(this).animate({ borderTopColor: '#59b4de', borderLeftColor: '#59b4de', borderRightColor: '#59b4de', borderBottomColor: '#59b4de' }, 'fast');
显然,您需要全部指定它们。
答案 2 :(得分:5)
这也有效。
$("div.item").hover(function() {
$(this).stop().animate({"border-color": "#999999"}, "slow");
},
function() {
$(this).stop().animate({"border-color": "#BFBFBF"}, "slow");
});
答案 3 :(得分:5)
我有类似的问题。我显然没有附加到我的文档的jQuery-UI文件。一旦我附上它。一切都与“C. Spencer Beggs”的答案完美配合。
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>
答案 4 :(得分:0)
jQuery动画只接受数值。请参阅[docs]:http://api.jquery.com/animate/
您可以使用jQuery.Color插件或使用扩展动画的jQuery UI,并允许您在动画中使用非数字值。
享受
答案 5 :(得分:0)
作为jQuery解决方案的替代方案,您还可以使用CSS过渡为边框颜色设置动画。由于您使用background-color
为fast
制作动画,因此您需要使用200ms
转换。
您的案例
.listing-2 li {
border:1px solid #d6f2c5;
transition: border 200ms ease-in-out;
}
.listing-2 li a:hover {
border:1px solid #0e7796;
}
通用示例
body {
display: flex;
justify-content: center;
}
.container {
width: 50px;
height: 50px;
border: 1px solid #d6f2c5;
transition: border 200ms ease-in-out;
}
.container:hover {
border: 1px solid #0e7796;
}
<div class="container"></div>
答案 6 :(得分:-5)
你可以试试这个:
$(this).animate({border: "3px solid #FFF55B"}, 100);