jquery悬停类在动画之后被删除

jquery悬停类在动画之后被删除,jquery,Jquery,我有一个div,我使用以下代码使其可拖动: $("#start").droppable({ hoverClass: 'startHover', drop: handleStartDropEvent, tolerance: "pointer", accept: ".cell", containment: ".cascade", }); 然后,在我的代码中的某个地方,我使用以下代码为同一个div设置动画: var formHtml = $("#form")[

我有一个div,我使用以下代码使其可拖动:

$("#start").droppable({
    hoverClass: 'startHover',
    drop: handleStartDropEvent,
    tolerance: "pointer",
    accept: ".cell",
    containment: ".cascade",
});
然后,在我的代码中的某个地方,我使用以下代码为同一个div设置动画:

var formHtml = $("#form")[0].outerHTML;
if ((formHtml.indexOf("row") <= 0)) {
    alert("Warning: An empty form cannot be submitted");
    $("#start").css("background-color", "red");
    $("#start").css("color", "white");
    $("#start").animate({
        backgroundColor: "initial",
        color: "black"
    }, 700);
    return false;
}
我注意到,在我设置了这个div的hoverclass动画之后,它就不再工作了。它仍然可以拖动,但不会像在动画之前那样更改悬停时的类

我尝试在动画之后再次设置hoverclass,但没有成功


有什么想法吗?

詹姆斯·蒙塔涅是对的,解决方案是在动画完成后删除这些属性,如下所示:

var formHtml = $("#form")[0].outerHTML;
if ((formHtml.indexOf("row") <= 0)) {
    alert("Warning: An empty form cannot be submitted");
    $("#start").css("background-color", "red");
    $("#start").css("color", "white");
    $("#start").animate({
        backgroundColor: "initial",
        color: "black"
    }, 700, function () { $("#start").attr('style', ''); });
    return false;
}

干杯,詹姆斯

对于一种比在解决方案中删除整个样式属性稍微轻一些的方法,您也可以只清除相关的css属性,如下所示:

$("#start").css("background-color", "red");
$("#start").css("color", "white");
$("#start").animate({
    backgroundColor: "initial",
    color: "black"
}, 700, function () { 
    $("#start").css('color', '')
               .css('background-color', ''); 
});

这将清除颜色和背景色css属性,以便为悬停类定义的css可以生效。

您如何判断该类未添加?如果它是基于颜色和/或背景色的,那么您已经调用了css,在这些属性的情况下,它将覆盖该类。您是正确的!让我用正确的答案回复我的帖子