0

ここにこの機能があります

$(document).keydown(function(e){
        if (e.which == 39) {
            goRight();
        }
        if (e.which == 37) {
            goLeft();
        };
    });

そして、私はそれが欲しいです:右または左の矢印キーを押して、関数(goRightまたはgoLeft)のいずれかを呼び出すと、関数が仕事をした後にのみ、他のキーを押すアクションを実行できます。私が欲しいのは、アニメーションの stop() 関数に似ています。左/右を非常に速く押すと、すべてのマージンが盗まれるためです。

goRight機能はこちら

function goRight(){
                if(!$('.livin').hasClass('blog') ){
            $('#contentGeral .containerConteudo ul').stop().animate({marginLeft:'-=800'},function(){
                    removeClasses();
                    addClasses();
                });
            }
            else{
                $('#contentGeral .containerConteudo ul').stop().animate({marginLeft:'0'}, function(){
                    removeClasses();
                    addClasses();
                    });
            }
    }

goLeft も同様です。

助けてくれてありがとう!

4

2 に答える 2

0

メソッド.stop(true,true)はこれを機能させました。ヒントをくれた 3nigma に感謝します。

于 2012-11-15T04:27:21.013 に答える
0

有効なブール値を入れてみてください。次のようになります。

var enable = 1;
$(document).keydown(function(e){
    if (e.which == 39) {
        if(enable == 1){
            enable = 0;
            goRight();
            enable = 1;
        }
    }
    if (e.which == 37) {
        if(enable == 1){
            enable = 0;
            goLeft();
            enable = 1;
        }
    };
});

しかし、それは暗闇の中でのショットです。あなたの問題が何であるか正確にはわかりません。お役に立てば幸いです。

于 2012-05-01T06:41:47.573 に答える