jquery - 为什么在对元素进行动画处理后,我的悬停状态仍保持激活状态?

标签 jquery css

我有一个按钮,单击时会向左移动。这部分效果很好,但我很困惑为什么悬停状态保持事件状态直到我移动鼠标。我创建了一个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
  });
});

最佳答案

我认为这是因为实际文本“链接”的默认属性为宽度 100%(屏幕宽度)和默认高度。因此,当您单击它时,您仍然会实际悬停文本。如果单击它并将鼠标移远,悬停效果将会消失。

关于jquery - 为什么在对元素进行动画处理后,我的悬停状态仍保持激活状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18836379/

相关文章:

javascript - 下载文件并在单击链接时滚动到底部 div

Javascript在下拉更改时设置隐藏的表单值

html - CSS 中的伪类 hover

html - 在图像上淡入的点图案叠加

php - 如果当前日期和时间已过,如何更改文本颜色?

javascript - 你如何在客户端处理复杂的 JavaScript 对象?

javascript - 如何使用jquery在表单文本字段中只允许阿拉伯字符

javascript - 为什么 'this' 未定义?

html - Chrome 和 Firefox 不再抗锯齿 Google 字体

html - chrome 移动 View 右下角的空白