0

我目前最好的这个问题的例子是:http: //lukes.comyr.com/Tf2MarketThing/index.html

在 Safari 上,当您将鼠标悬停在某个项目上时,它会激活 css hover 伪,这是一个 webkit 转换:

.item:hover {
    -webkit-transform: scale(1.5) rotate(30deg);
}

但是,如果您单击它移动的项目(通过 jQuery animate()),但即使鼠标不在项目上方,它仍保持悬停动画/状态,并且为了摆脱悬停伪你有再次将鼠标悬停在已移动的项目上。

有没有办法解决这个问题,使项目在移动后处于正常的 css 状态?我想知道这些方法是否存在:

  • 强制浏览器重新计算悬停边界
  • 重置或移除伪物品类
  • 模拟鼠标移动事件以触发悬停计算

编辑:可悲的是,链接现在似乎已经超载,所以这里有几个屏幕截图来帮助说明问题:

这是当您将鼠标悬停在项目上时的样子,请注意与其他元素相比它是如何旋转的

悬停

这是项目移动后的样子,它仍然在悬停伪中旋转,即使光标没有从它的原始位置移动(间隙在右上角)

还在徘徊

4

1 回答 1

1

这不是完整的解决方案,只是试图让您知道如何解决它

$('.item').click(function(){$(this).css('transform','scale(1)')})
$('.item').hover(function(){$(this).css('transform','scale(1.5)')})
$('.item').mouseout(function(){$(this).css('transform','scale(1)')})
于 2013-07-17T05:06:25.123 回答