Jquery 如何让动画在不被打断的情况下完成?
我对jQuery和switchclass函数有问题。我正在使用serialscroll功能浏览我的站点,并为此绑定了箭头键。我已经绑定了向下箭头键,通过在类之间设置动画来选择/取消选择元素。然而,我遇到的问题是,如果用户在按下向下箭头后快速按下左键或右键,动画将无法完成,并被卡住Jquery 如何让动画在不被打断的情况下完成?,jquery,Jquery,我对jQuery和switchclass函数有问题。我正在使用serialscroll功能浏览我的站点,并为此绑定了箭头键。我已经绑定了向下箭头键,通过在类之间设置动画来选择/取消选择元素。然而,我遇到的问题是,如果用户在按下向下箭头后快速按下左键或右键,动画将无法完成,并被卡住 function mainselect() { setTimeout(function() { $(".selectstyle"
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()
}
});
函数mainselect()
{
setTimeout(函数()
{
$(.selectstyle”).switchClass(“selectstyle”,“select”,200);
$(“.select”).switchClass(“select”,“selectstyle”,200);
$(.maincontentshrink”).switchClass(“maincontentshrink”,“maincontent”,200);
$(.maincontent”).switchClass(“maincontent”,“maincontentshrink”,200);
返回false;
},
250);
}
$(文档).keydown(函数(e)//键盘绑定
{
如果(e.keyCode==39)//右(->)
{
setTimeout(函数()
{
//$(.maincontent”).switchClass(“maincontent”,“maincontent”,200);
$(.maincontentshrink”).switchClass(“maincontentshrink”,“maincontent”,200);
$(.selectstyle”).switchClass(“selectstyle”,“select”,200);
$pane.trigger('next');
返回false;
},
200);
}
});
$(文档).keydown(函数(e)
{
如果(e.keyCode==37)//left(您可以使用queue
请参见中的示例
示例非常清楚。您可以使用队列
请参见中的示例
示例非常清楚。嗨,William,我不确定如何将绑定到keydown的函数排在另一个单独keydown绑定的函数之后。嗨,William,我不确定如何将绑定到keydown的函数排在另一个单独keydown绑定的函数之后。