jQuery函数问题

jQuery函数问题,jquery,jquery-animate,Jquery,Jquery Animate,我的简单jQ函数如下所示 $.fn.animateHighlight = function(highlightColor,type, duration) { var highlightBg = highlightColor || "#FFFF9C"; var animateMs = 1500; this.stop().css(type, highlightBg).delay(duration).animate({ type: "black" },

我的简单jQ函数如下所示

$.fn.animateHighlight = function(highlightColor,type, duration) {
    var highlightBg = highlightColor || "#FFFF9C";
    var animateMs = 1500;
    this.stop().css(type, highlightBg).delay(duration).animate({
        type: "black"
    }, animateMs);
};
$("#qparamstitle").animateHighlight("red","color", 3000);
$("#params").animateHighlight("red","border-color", 3000);
像那样打电话

$.fn.animateHighlight = function(highlightColor,type, duration) {
    var highlightBg = highlightColor || "#FFFF9C";
    var animateMs = 1500;
    this.stop().css(type, highlightBg).delay(duration).animate({
        type: "black"
    }, animateMs);
};
$("#qparamstitle").animateHighlight("red","color", 3000);
$("#params").animateHighlight("red","border-color", 3000);
试图使类型变为变量。除了动画之外,所有的工作都很好。我做错了什么,如何让它工作

{
   type: "black"
}
这是使用
“type”
键创建对象。不能将变量用作对象文本中的键

您需要首先声明变量,然后使用
[]
设置值

$.fn.animateHighlight = function(highlightColor,type, duration) {
    var highlightBg = highlightColor || "#FFFF9C";
    var animateMs = 1500;
    var animateVal = {}; // declare object
    animateVal[type] = 'black'; // set `type` value
    this.stop().css(type, highlightBg).delay(duration).animate(animateVal, animateMs);
};

您需要jqueryui才能,jQuery仅不支持它

此外,将选项对象传递给动画功能的方式将不起作用。您必须在函数外部创建一个对象并传递该对象:

$.fn.animateHighlight = function(highlightColor,type, duration) {
    var highlightBg = highlightColor || "#FFFF9C";
    var animateMs = 1500;
    // create objects for the animation options
    var o = {};
    // using the array notation
    // you can create a property of name "type"
    o[type] = 'Black';
    this.stop().css(type, highlightBg).delay(duration).animate(o, animateMs);
};

因此,请解释什么被破坏了,以及您预期会发生什么。另外,发布一个JSFIDLE示例将有助于人们帮助您。将鼠标悬停在向下投票箭头上,查看向下投票的一些有效原因。抱怨被否决的票数,并给这个论坛的用户打电话,可能会让你获得更多的被否决的票数。@Sparky672
type:“black”
type是可变的。它可能是边框颜色,颜色。。还有别的。Animate函数不接受变量parameter无法使用jQuery
.Animate()
设置颜色动画。请参见-“所有已设置动画的属性应设置为单个数值”我是否缺少某些内容?为什么会有这些反对票?似乎是个很好的问题…哦。。似乎边框颜色不起作用。对于css,它是
border color
用于动画
borderColor
。我如何解决这个问题?试着理解这个解决方案<代码>边框颜色与
边框颜色
一样有效,但不能将变量用作对象中的键literals@epic_syntax:
边框颜色
中工作良好。动画
(如果包含jQuery UI)。我已经将jQueryUI包含到项目中。所以你也可以推荐你的jqui解决方案。