1

我在使用 jQuery 和 switchclass 函数时遇到问题。我正在使用 serialscroll 功能来导航我的网站并为此绑定了箭头键。我已经绑定了向下箭头键以通过在类之间制作动画来选择/取消选择元素。但是我遇到的问题是,如果用户在按下向下箭头后快速向左或向右按​​下,它不允许动画完成并卡住。

function    mainselect()
        {

        setTimeout(function()
            {

            $(".selectstyle" ).switchClass( "selectstyle", "select", 200);
            $(".select" ).switchClass( "select", "selectstyle", 200);
            $(".maincontentshrink" ).switchClass( "maincontentshrink", "maincontent", 200);
            $(".maincontent" ).switchClass( "maincontent", "maincontentshrink", 200);
            return false;
            },
            250);

        }
$(document).keydown(function(e)                     //keyboard bind 
    {
    if( e.keyCode == 39 )                       //right (->)
        {   
        setTimeout(function()
            {
    //      $(".maincontent" ).switchClass( "maincontent", "maincontent", 200 );
            $(".maincontentshrink" ).switchClass( "maincontentshrink", "maincontent", 200 );
            $(".selectstyle" ).switchClass( "selectstyle", "select", 200 );
            $pane.trigger('next');
            return false;
            },
            200);
        }
    });


$(document).keydown(function(e)
    {   
    if( e.keyCode == 37 )                       //left (<-)
        {   
        setTimeout(function()
            {
    //      $(".maincontent" ).switchClass( "maincontent", "maincontent", 200 );
            $(".maincontentshrink" ).switchClass( "maincontentshrink", "maincontent", 200 );
            $(".selectstyle" ).switchClass( "selectstyle", "select", 200 );
            $pane.trigger('prev');
            },
            200);
    }
    }); 

$(document).keydown(function(e)
    {   
    if( e.keyCode == 40 )                       //down (\/) 
        {
        mainselect()

        }
    }); 

有没有办法禁用其他功能或取消绑定/绑定按键,直到动画完成?

4

1 回答 1

1

您可以使用队列。

请参阅jquery 文档中的示例

例子很清楚。

于 2012-04-25T14:46:09.330 回答