javascript - 我无法找出这个 jQuery 中的错误

标签 javascript jquery html css firebug

有问题的页面是... 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/

相关文章:

javascript - for 循环的本地存储不工作问题

java - 从数据库填充组合框

javascript - 无法读取未定义的属性 - D3 hive 图

javascript - 每个数组值旁边的删除按钮

JavaScript继承: why copy from an instance?

javascript - hbbtv 应用程序在真实电视上测试/调试

javascript - flex 容器子容器的 scrollWidth 不正确

javascript - Toggle 根据浏览器大小删除 Div

Javascript 将 ID 添加到字符串内的元素

javascript - 如何将 JSON 内容放入 <ul> 标签并在 HTML 中形成