Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery抛出对象没有方法';更换';打开。动画_Jquery_Jquery Animate - Fatal编程技术网

jquery抛出对象没有方法';更换';打开。动画

jquery抛出对象没有方法';更换';打开。动画,jquery,jquery-animate,Jquery,Jquery Animate,使用jquery1.7.1 这是我尝试运行的简单函数: $('#large-boxes').dblclick(function(e){ var element = $(e.target); boxes.disappear(element); }); boxes = { disappear: function(element){ console.log(element); element.animate({ height: 0,

使用jquery1.7.1

这是我尝试运行的简单函数:

$('#large-boxes').dblclick(function(e){
  var element = $(e.target);

  boxes.disappear(element);
});

boxes = {
    disappear: function(element){
    console.log(element);
    element.animate({
        height: 0,
        width: 0,
        top: 0,
        left: 0
    }, 100);
},
}
运行时在控制台中输出:

boxes.js:60

[
 <div id=​"4" class=​"ui-draggable">​</div>​
]

jquery.min.js:4

Uncaught TypeError: Object function () {
  var i;
  var newObj = (this instanceof Array) ? [] : {};
  for (i in this) {
    if (i == 'clone') continue;
    if (this[i] && typeof this[i] == "object") {
      newObj[i] = this[i].clone();
    } else newObj[i] = this[i]
  } return newObj;
} has no method 'replace'
box.js:60
[
​​
]
jquery.min.js:4
未捕获类型错误:对象函数(){
var i;
var newObj=(数组的此实例)?[]:{};
因为(我在这里){
如果(i==“克隆”)继续;
if(此[i]&此[i]=“对象”的类型){
newObj[i]=此[i].clone();
}else newObj[i]=此[i]
}返回newObj;
}没有“替换”方法
起初我认为元素对象周围的括号可能表示数组,但这似乎只是jquery对象上的符号

元素正确地设置了动画,如果我删除了.animate函数并使用.css设置了所有的值,我就不会出错


有什么想法吗?

您可能需要添加
$(元素)
。但是,很难说您实际上是如何调用此函数的。

让我做一个粗略的猜测。 即:

可能是您自己的函数,它破坏了对象的命名空间。看看你家里的某个地方 您正在执行的源代码,例如:

Object.prototype.myclone = function() { ... }
现在,$.fn.animate(道具,…)将在一个for循环中拾取它

for( p in prop ) { ....
因为道具只是普通的物体:

{   height: 0,  width: 0,   top: 0,   left: 0  }   
从那以后,你的“我的克隆人”就有了自己的生活,你所看到的失败可能还要很久。 我能给你的最好答案是“grep newObj.*”你的源文件和所有库。
请让我们知道这是否是针对目标拍摄的…

我读你的问题越多,我就越困惑…因此它会正确地动画化;如果您使用
css()
设置值,它将起作用。那么它什么时候抛出错误呢?在
console.log
?进一步调查后,我发现使用
element.css('background','red')设置css属性
可以正常工作,但是
element.css({'background':'red'})抛出相同的未捕获类型错误
{   height: 0,  width: 0,   top: 0,   left: 0  }