gpt4 book ai didi

href() 中的 jQuery 动画仅在第二次触发

转载 作者:行者123 更新时间:2023-12-03 22:52:45 25 4
gpt4 key购买 nike

我正在使用 jQuery 为悬停() 上的高度变化设置动画。

悬停时,它将应用 .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 bug。相同的代码适用于 jQuery 1.5(以及最新版本的 jQuery UI)。

最佳答案

这可能是一个合法的 jQuery UI 错误。预先添加一些随机类似乎可以为我解决这个问题。检查:http://jsfiddle.net/Qc42v/9/

基本上是这样的:

/*on mouseenter, if not expanded, add hover class*/
function() {
if (!$(this).hasClass("expanded")) {
$(this).addClass("xxx");
$(this).stop(true, true).addClass("hover", "slow");
}},

如果这对你来说太恶心了,也许只使用基本的 animate() 函数?不过,肯定有人应该提交错误:{

关于href() 中的 jQuery 动画仅在第二次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6313480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com