【发布时间】:2011-06-11 01:20:24
【问题描述】:
我正在使用 jQuery 对 hover() 的高度变化进行动画处理。
悬停时,它会应用一个 .hover 类,点击后,它会切换一个 .expanded 类。它主要工作,具有适当的动画,但只有在第一次之后。第一次悬停将完全跳过动画。
我很难过 - 这是有问题的代码:
$('#expandingbox').hover(
/*on mouseenter, if not expanded, add hover class*/
function() {
if (!$(this).hasClass("expanded")) {
$(this).stop(true, true).addClass("hover", "slow");
}},
/*on mouseout, if not expanded, remove hover class*/
function() {
if (!$(this).hasClass("expanded")) {
$(this).stop(true, true).removeClass("hover", "slow");
}
}).click(function() {
$(this).toggleClass("expanded", "slow");
});
我在某处发现添加 $('#expandingbox').trigger('mouseout') 可以解决此问题,但它对我不起作用。 这是一个重现问题的示例: http://jsfiddle.net/Qc42v/
更新: 提交了一张票,结果证明这是一个 jQuery 错误。相同的代码适用于 jQuery 1.5(和最新版本的 jQuery UI)。
【问题讨论】:
-
您考虑过使用animate吗?
-
标签: jquery jquery-ui jquery-hover