【发布时间】:2014-10-15 22:10:56
【问题描述】:
我有一个按钮,点击时会向左移动。这部分效果很好,但我对为什么悬停状态保持活动状态直到我移动鼠标感到困惑。我已经创建了一个jsfiddle 的问题。点击按钮,不要移动鼠标,注意动画完成后也会触发悬停状态。
这是我的代码 HTML:
<a href="#">Click</a>
CSS:
a{
color: white;
background: blue;
padding: 10px;
position: absolute;
left: 0;
}
a:hover{
background: green;
}
JS:
$('a').click(function(){
var aW = $(this).outerWidth();
$(this).animate({
'left': aW
});
});
【问题讨论】:
-
可能是因为悬停状态是由mouse events 驱动的,当您从光标下方为元素设置动画时不会触发这些事件...
-
是的,您需要使用 javascript 强制执行某些操作。喜欢点击事件中的
$(this).css('background','blue');。 -
a:hover{ 背景:绿色; } 你已经有了 CSS3 悬停功能,为什么要从 jquery 重新申请?
-
感谢反馈,@canon 是对的,鼠标事件不会触发。我只能暂时保持原样。