有问题的页面是... http://schnell.dreamhosters.com/index.php?page=gallery#
我使用 Firebug 来调试我的 jQuery 和其他代码花絮,事实证明它对 Javascript/jQuery 调试非常有用。然而,与此同时,这是我经历过的最令人沮丧的调试经历之一。我不确定为什么,但有时我似乎可以从教程中逐字复制别人的方法,但仍然会出现错误。
无论如何,这里的问题是 Firebug 声称源代码的第 20 行存在错误。
缺少:在属性 ID 之后 [打破这个错误] $('#table').animate({"left: "+ attr + "px"}, 2000);\n
这个错误对我来说似乎是一个巨大的负担,因为冒号就在那里!这就是为什么有时调试 jQuery/Javascript 如此痛苦的原因。错误消息相当复杂,有时甚至对我来说一点意义都没有。或者这可能只是 Firebug。
无论哪种方式,我在这里的目标是尝试动态更改动画功能,以便您单击左箭头越多,图像网格向左移动得越远(由于性质CSS 'left' 属性)。我有 Javascript 变量和一个隐藏的输入标签来帮助保存基本值,但主要障碍是让动画函数识别这些变量。据我所知,它只接受字符串文字作为关于如何制作动画的参数,文档对我没有帮助,因为它没有讨论变量与动画的使用,好像这是不可能的。
好吧,我只是说我不喜欢不可能,他很喜欢妨碍我。
最佳答案
传递给 animate 函数的对象字面量格式不正确,应该是:
$('#table').animate({left: attr + "px"}, 2000);
编辑:仔细观察您的代码,您还试图从 id = "count"的输入中获取一个值,并且您缺少一个 # 字符来拥有一个 ID 选择器:
var count = +$('#count').val(); // get #count value as Number
你也在递增这个count
变量,但是你应该先把它转换成Number,因为input
元素的value
属性是字符串. (我在赋值的右侧使用一元加号运算符)。
您必须将其转换为数字,因为如果您添加两个变量并且其中一个是字符串,则会发生连接:
"1" + 1 == "11"
关于javascript - 我无法找出这个 jQuery 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1629101/