有问题的页面是...... http://schnell.dreamhosters.com/index.php?page=gallery#
我使用Firebug调试我的jQuery和其他代码花絮,它已被证明对Javascript / jQuery调试非常有用。然而,与此同时,它一直是我经历过的最令人沮丧的调试经历之一。我不确定为什么,但有时似乎我可以从教程,角色角色复制别人的方法,但仍然会出现错误。
无论如何,问题在于Firebug声称源代码的第20行存在错误。
缺少:属性ID之后 [打破此错误] $('#table')。animate({“left:”+ attr +“px”},2000); \ n
这个bug对我来说似乎是一个巨大的负担,因为冒号就在那里!这就是调试jQuery / Javascript有时会如此痛苦的原因。错误信息相当令人费解,有时甚至对我没有任何意义。或许这只是Firebug。
无论哪种方式,我要去的目标是我正在尝试动态更改动画功能,以便您点击左箭头越多,图像网格越远(由于性质) CSS'左'属性)。我有Javascript变量和隐藏的输入标记来帮助保存基本值,但主要的障碍是让animate函数识别这些变量。接近我可以告诉它只接受关于如何动画的参数的字符串文字,文档对我没有帮助,因为它没有讨论变量与动画的使用,好像它是不可能的。
好吧,我只想说我不喜欢不可能,他喜欢我的方式很多。
答案 0 :(得分:3)
传递给animate函数的对象文字格式不正确,应该是:
$('#table').animate({left: attr + "px"}, 2000);
编辑:仔细查看您的代码,您还尝试从id =“count”的输入中获取值,并且您缺少#字符以获得ID选择器:< / p>
var count = +$('#count').val(); // get #count value as Number
您也在递增此count
变量,但您应首先将其转换为Number,因为value
元素的input
属性为字符串。 (我是使用作业右侧的一元加号运算符完成的。)
您必须将其转换为数字,因为如果您添加两个变量,其中一个是字符串,则会发生连接:
"1" + 1 == "11"
答案 1 :(得分:0)
尝试:
$('#table').animate({left: attr}, 2000);
这里的“px”测量单位不是必需的。除此之外,以上是正确创建匿名对象。你只是把一个字符串放在花括号内。