这个功能有什么问题

时间:2010-04-27 12:41:59

标签: jquery

我无法确定哪些括号位于错误的位置以及现在哪里完全丢失了:

    $("#slid").click(function() {
        $("#div1").animate({ top: "25px",}, 300
        },function() {
            $("#div1").animate({ top: "85px",}, 300
        });
    });

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:3)

这部分:

},function() {

应该是:

,function() {

你的callback是第三个参数,因此不需要那个额外的闭合支撑。您传递给动画的对象中的尾随逗号也可能在IE中出现问题,因此请更改此:
<{1}}至{ top: "25px",}是安全的。

作为旁注,将代码插入jsbeautifier.org(或任何其他格式化程序)之类的代码是一种快速查找支撑错误的方法,因为它们会混淆格式化引擎并将其丢弃...很容易发现。

答案 1 :(得分:0)

这应该这样做:

$("#slid").click(function() {
    $("#div1").animate({top: "25px"}, 300, function() {
            $("#div1").animate({top: "85px"}, 300);
    });
});

注意,除了Nick所说的内容之外,您在内部)方法的末尾错过了animate

答案 2 :(得分:0)

在25px和85px之后删除逗号(IE中对象中的尾随逗号失败)。
固定支架。
引用顶部(我个人的偏好)。
使用$(this)而不是在animate回调函数中再次查找元素。

$("#slid").click(function() {
    $("#div1").animate({"top":"25px"},300,function() {
         $(this).animate({"top":"85px"},300);
    });
 });