2013-02-20 38 views
-2
function moves_like_jagger(event) { 
var MouseX=event.clientX; 
for(i=1;i<l+1;i++) { 
    helper=".d"+i; 
    amount=(MouseX-$(this).width/2)*layer[i-1]; 
}} 

这个问题发生在jQuery事情发生时。在这种情况下,我想使用jQuery来访问id,class等,但是当我运行这个脚本并用document.write(amount )我得到NaN ...我测试了它,这是因为jQuery。 $(this).width取而代之的是不给数字而是一个脚本。问题是什么?我可以添加或减去jQuery值和JavaScript值吗?

+3

总是要做的第一件事就是:**阅读文件**(http://api.jquery.com/width/)!而FWIW,没有像“jQuery价值”这样的东西。 jQuery是用JavaScript编写的**库**。一切都是一个对象,数组,函数,字符串,数字等。 – 2013-02-20 19:22:16

+0

对不起,我不是一个网络程序员或任何,只是有一个想法,并试图使它以某种方式... – godzsa 2013-02-21 17:06:03

回答

1

“$(this).width”不给出数字,而是给出一个脚本。问题是什么?

jQuery对象的width属性是一个函数,而不是一个数字。

调用它,并使用它的返回值。

+0

谢谢!帮了很多! :) – godzsa 2013-02-21 17:06:52

1

这是因为jQuery.width()是一个函数,而不是一个属性。更改

amount=(MouseX-$(this).width/2)*layer[i-1]; 

amount=(MouseX-$(this).width()/2)*layer[i-1]; 
+0

谢谢你,这是最好的答案! :d – godzsa 2013-02-21 17:06:32