jquery抛出对象没有方法';更换';打开。动画
使用jquery1.7.1 这是我尝试运行的简单函数: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,
$('#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 }