0

我正在使用具有触摸支持的 Jquery 事件侦听器来构建一个混合移动应用程序来创建交互,但是我遇到了事件侦听器调用使用.animate. 第一次animate工作正常,但第二次更慢,第三次更慢。查看日志,似乎事件侦听器每次调用函数时都会将函数调用乘以 2。

我已将问题缩小到事件侦听器,因为在 chrome 开发工具中手动调用该函数时可以完美地工作。我尝试过使用 jquery.on.one事件侦听器。下面是我的代码,如果能得到一些建议会很棒...

的HTML

<div id="closeIcon"></div>

和JS...

$('#closeIcon').one("tap", closeLogin);

function closeLogin(){
$('#userContainer').animate({'padding-top': '120px'}, 500);
$('#contentContainer').animate({'height': '682px'}, 500, function(){
    unselectUser();
    $('#loginContainer').empty();
    $('#loginContainer').css('visibility', "hidden");
});
}
4

1 回答 1

0

尝试这个:

$('#closeIcon').one("tap", closeLogin);

function closeLogin(e){
    e.stopImmediatePropagation();

    $('#userContainer').animate({'padding-top': '120px'}, 500);
    $('#contentContainer').animate({'height': '682px'}, 500, function(){
        unselectUser();
        $('#loginContainer').empty();
        $('#loginContainer').css('visibility', "hidden");
    });
}
于 2013-08-22T12:11:14.523 回答