-1

我正在尝试调试我编写的回调函数,该函数在单击页面上的某些链接时触发。有一段时间,一切正常,但它有问题,所以我开始尝试调试我的回调。这是我的代码的当前状态:

function doStuff() {

    var container = $("#content-container");

    var ch = container.height();

    container.animate({
        top : '-=' + ch + 'px'
    }, 500, function() {console.log('animating');});
}

$(".content-link").live("click", function(){
    doStuff();
    return false;
});

动画将#content-container元素移出页面顶部。以前这个动画效果很好。但是,当我将回调替换为animate()console.log()形成显示的代码时,动画停止工作,但仍将一条消息记录到控制台。为什么即使触发了回调,动画也没有运行?

4

2 回答 2

0

问题可能是您在live应该使用bind. 据我所知,live已在 jquery 1.9 中删除。

$(".content-link").bind("click", function(){
    doStuff();
    return false;
});

除此之外,我认为可能是错误的唯一另一件事是您需要为容器类设置位置属性,否则顶部不会产生任何影响。

小提琴链接与工作代码

于 2013-07-05T20:44:30.180 回答
0

position: relative;需要为container元素设置才能使其具有动画效果。感谢 Jan Dvorak 指出这一点。即使我唯一改变的是javascript,而不是我的样式表或任何东西,我仍然不知道为什么以前的事情会奏效......

于 2013-07-05T20:54:46.833 回答