我的功能看起来像
$.fn.animateHighlight = function(highlightColor, originalColor, type, duration) {
var highlightBg = highlightColor || "#FFFF9C";
var animateMs = 500;
var animateVal1 = {};
animateVal1[type] = highlightColor;
var animateVal2 = {};
animateVal2[type] = originalColor;
this.stop().animate(animateVal1, animateMs).delay(duration).animate(animateVal2, animateMs);
};
这样称呼
$("#variants").animateHighlight("red", "#9c9c9c", "borderColor", 3000);
问题是,
这是fieldset的默认边框颜色
这是在动画颜色之后
我知道animate会为元素添加额外的样式属性。我想做的是,返回原始字段集边框颜色(删除样式属性将返回原始边框颜色)。
试图将最后一行功能更改为此
this.stop().animate(animateVal1, animateMs).delay(duration).animate(animateVal2, animateMs).removeAttribute('style');
Animate甚至没有开始。
如何在闪烁后动画并重置回原始版本?
答案 0 :(得分:0)
this.stop().animate(animateVal1, animateMs).delay(duration).animate(animateVal2, animateMs, function() {
this.removeAttribute('style');
});
答案 1 :(得分:0)
我认为这两种方法。
1.如果在VariantDiv中使用了stye属性中的border颜色。默认情况下,删除样式属性时样式将丢失。所以你应该保持第一个边框颜色。
例如:
2.如果你不使用风格,你可以这样做。 您可以在完成动画时调用此代码。
$(this).attr('style','');
例如: