我有一个功能,显示基于菜单选项的内容,每次用户点击一个不同的选项,当前活动内容将淡出和点击内容将显示(每个div从确定的选项将按顺序显示),我的问题是我如何防止用户快速点击,例如,如果他决定在最后一个结束之前点击不同的部分,它会搅动动画的东西,这是我的代码。防止用户点击
$(document).ready(function() {
$("#Default .box").fadeIn();
var $aBox = 0;
var $menu = "#inner_menu li";
var $myliID = 0;
var $myBox = "#Digital_Box .box";
var $myActiveBox = 0;
var $myHeight = 0;
$($menu).click(function() {
var delay = 0;
$myliID = $(this).attr("id");
$myBox = "#" + $myliID + "_Box .box";
if ($aBox == 1) {
if ($myActiveBox != $myBox) {
$($myActiveBox).fadeOut(300);
}
$($myBox).delay(300).each(function()
{
$(this).delay(delay).fadeIn(300);
delay += 500;
});
$aBox = 1;
$myActiveBox = $myBox;
}
else
{
$("#Default_Box .box").fadeOut(300);
$($myBox).delay(300).each(function()
{
$(this).delay(delay).fadeIn(300);
delay += 500;
});
$aBox = 1;
$myActiveBox = $myBox;
}
});
});
正如你可以看到我的li元素匹配,并且它是通过他们的ID确定的内容,一切工作正常,但问题是快速点击,而不是让其他动画完成。
如果我的编码很烂很抱歉,我想开始写我自己的“插件”:P