Javascript TypeError:无效';在';类中的操作数a
Javascript TypeError:无效';在';类中的操作数a,javascript,jquery,Javascript,Jquery,我这里有一些JavaScript代码,它使用JQuery创建一个类,然后使用类函数 function sample(a, b) { var id = a; var img_src = b; this.getId = function() { return id; }; this.move = function(pTop, pLeft) { var p = $(this).position();
我这里有一些JavaScript代码,它使用JQuery创建一个类,然后使用类函数
function sample(a, b)
{
var id = a;
var img_src = b;
this.getId = function()
{
return id;
};
this.move = function(pTop, pLeft)
{
var p = $(this).position();
var mov_top = p.top + pTop;
var mov_left = p.left + pLeft;
$(this).animate({
top: mov_top,
left: mov_left
});
}
}
当我点击一个按钮时,我称之为:
<button onclick="create(3);">Click me :D</button>
<script>
function create(id)
{
var mySample = new sample(id, 'url');
mySample.move(50, 50);
}
</script>
单击我:D
函数创建(id)
{
var mySample=新样本(id,'url');
mySample.move(50,50);
}
这将返回错误类型error:invalid'in'操作数a,但我不知道它来自哪里
有人有主意吗?试着将
这个传递到创建()
而不是3
,它应该是sample()
中的a
,设置按钮css
位置到相对
函数示例(a、b)
{
var id=a;
var img_src=b;
this.getId=函数()
{
返回id;
};
this.move=函数(pTop,pLeft)
{
var p=$(a).position();
var mov_top=p.top+pTop;
var mov_left=p.left+pLeft;
$(a).制作动画({
顶部:mov_顶部,
左:左移
});
}
}
按钮{
位置:相对位置;
}
点击我:D
函数创建(id)
{
var mySample=新样本(id,'url');
mySample.move(50,50);
}
你应该调用mySample.move right?什么是monSprite
?可能的monSprite
/mySample
排版,在move
中的this
引用将引用sample
函数,而不是DOM中的任何元素,因此我不确定你期望的位置()
或任何其他要返回的jQuery方法。monSprite不再是了,这是mySample,没错,我只想在单击按钮时让按钮移动(出于测试目的),顺便说一下,如果move()中的this引用错误,那么getId()也应该是错误的,但getIt()正在工作。