如何在mouseout
上恢复悬停不透明效果?我可以毫无问题地让我的悬停效果发生,但我似乎无法撤消它的效果。
JSFiddle:https://jsfiddle.net/3jeezjrb/
<div class="row" style="padding-top:15px">
<div class="col-xs-6 col-xs-push-3">
<div class="list-group">
<a class="list-group-item" href="#">Hello, World</a>
<a class="list-group-item" href="#">Goodbye, Earth</a>
</div>
</div>
</div>
JQuery的:
$(".list-group-item").hover(function() {
$(this).stop().animate({"opacity": "0.5"});
});
我肯定想在JQuery中做这个效果,而不是纯CSS,因为我需要在之后添加其他功能(文本叠加)。
答案 0 :(得分:1)
使用mouseleave回调,它是hover()
的第二个参数
$(".list-group-item").hover(function() {
$(this).stop().animate({
"opacity": "0.5"
});
}, function() {
$(this).stop().animate({
"opacity": 1
});
});
&#13;
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="row" style="padding-top:15px">
<div class="col-xs-6 col-xs-push-3">
<div class="list-group">
<a class="list-group-item" href="#">Hello, World</a>
<a class="list-group-item" href="#">Goodbye, Earth</a>
</div>
</div>
</div>
&#13;
你也可以使用缩短版本,如
$(".list-group-item").hover(function (e) {
$(this).stop().animate({
"opacity": e.type=='mouseenter' ? .5 : 1
});
});
$(".list-group-item").hover(function(e) {
$(this).stop().animate({
"opacity": e.type == 'mouseenter' ? .5 : 1
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet" />
<div class="row" style="padding-top:15px">
<div class="col-xs-6 col-xs-push-3">
<div class="list-group">
<a class="list-group-item" href="#">Hello, World</a>
<a class="list-group-item" href="#">Goodbye, Earth</a>
</div>
</div>
</div>
&#13;
答案 1 :(得分:1)
您可以使用hover
的第二个参数。这将在元素的mouseout
时运行。
$(".list-group-item").hover(function() {
$(this).stop().animate({
"opacity": "0.5"
});
}, function() {
$(this).stop().animate({
"opacity": "1"
});
});
演示:https://jsfiddle.net/tusharj/3jeezjrb/1/
我建议你使用css
而不是jQuery
:
.list-group-item:hover {
opacity: .5;
}