0

タッチをサポートする Jquery イベント リスナーを使用してハイブリッド モバイル アプリケーションを構築していますが、.animate. 最初animateは問題なく動作しますが、2 回目は遅くなり、3 回目はさらに遅くなります。ログを見ると、イベント リスナーが呼び出されるたびに、関数への呼び出しが 2 倍になっているようです。

クロム開発ツールで手動で呼び出されたときに関数が問題なく動作するため、問題をイベントリスナーに絞り込みました。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 に答える